注:MyAjaxForm.js文件在qq云上:MyAjaxForm.zip
一、view
<script type="text/javascript" src="@Url.Content("~/Scripts/MyAjaxForm.js")"></script>
<script>$(function () {
InitGrid();
$("#btnCancel").click(function () {
closePwd();
});
$("#btnSearch").click(function () {
InitGrid();
});
$("#btnEp").click(function () {
var $form = $("#fromAdd");
$.post('@Url.Action("Add")', $form.serialize(), function (data) {
$.messager.alert('系统提示', '航线' + data.msg + '!', 'info');
if (data.success) {
closePwd();
InitGrid();
}
});
});
$("#btnFileImage").click(function () {
$("#fromAdd").ajaxSubmit({
url: '@Url.Action("FileUpload")',
type: 'post',
success: function (imgData) {
$("#LogoUrl").val(imgData);
}
});
});
});
function InitGrid(queryData) {
$('#grid').datagrid({
url: '@Url.Action("List")',
title: '任务列表',
iconCls: 'icon icon-nav',
height: 540,
width: function () { return document.body.clientWidth * 0.9 },
nowrap: true,
autoRowHeight: false,
striped: true,
collapsible: true,
singleSelect: true,
pagination: true,
sortName: 'Id',
sortOrder: 'desc',
pageNumber: 1,
//remoteSort: false,
idField: 'Id',
queryParams: { AirCode: $("#form1 input[name='AirCode']").val(), AirName: $("#form1 select[name='AirName']").val() }, //异步查询的参数
columns: [[
//{ title: 'ID', field: 'Id', sortable: true },
//{ field: 'ID', checkbox: true },
{ title: '航司二字码', field: 'AirCode', sortable: true },
{ title: '航司简称', field: 'AirName', sortable: true },
{ title: '航司全称', field: 'AirFullName', sortable: true },
{
title: '航司Logo', field: 'LogoUrl',
formatter: function (value, row, index) {
return '<img src="' + row.LogoUrl + '" style="width:20px; height:20px;"/>';
}
},
{ title: '航班类型', field: 'Nation', sortable: true },
]],
toolbar: [{
id: 'btnAdd',
text: '添加',
iconCls: 'icon icon-add',
handler: function () {
ShowAddDialog();//实现添加记录的页面
$("#ID").val("0");
$("#HideID").val("");
$("#AirCode").val("");
$("#AirName").val("");
$("#AirFullName").val("");
$("#LogoUrl").val("");
}
}, '-', {
id: 'btnDisabled',
text: '编辑',
iconCls: 'icon icon-edit',
handler: function () {
Edit();
}
}, '-', {
id: 'btnDelete',
text: '删除',
iconCls: 'icon icon-delete',
handler: function () {
Delete();
}
}, '-', {
id: 'btnReload',
text: '刷新',
iconCls: 'icon icon-reload',
handler: function () {
$("#grid").datagrid("reload");
}
}],
onDblClickRow: function (rowIndex, rowData) {
$('#grid').datagrid('uncheckAll');
$('#grid').datagrid('checkRow', rowIndex);
}
});
}
//设置登录窗口
function ShowAddDialog() {
$('#dialogAdd').window('open');
}
//关闭登录窗口
function closePwd() {
$('#dialogAdd').window('close');
}
function Edit()
{
var row = $('#grid').datagrid("getSelected");
if (row)
{
ShowAddDialog();
$("#dialogAdd").attr("title", "修改航线");
$("#ID").val(row.id);
$("#AirCode").val(row.AirCode);
$("#AirName").val(row.AirName);
$("#AirFullName").val(row.AirFullName);
$("#LogoUrl").val(row.LogoUrl);
//$("#radEabled").attr("checked", true);
if (row.Nation == 1)
{
$("#radDisabled").attr("checked", true);
}
if (row.Nation == 2)
{
$("#radEabled").attr("checked", true);
}
}
else {
$.messager.alert("系统消息", "请选择一条记录!", "warning");
}
}
function Delete() {
debugger;
var row = $('#grid').datagrid("getSelected");
if (row) {
$.post('@Url.Action("Delete")', { id: row.id }, function (data) {
$.messager.alert("系统消息", data.msg, "info");
if (data.success) {
$("#grid").datagrid("reload");
}
});
} else {
$.messager.alert("系统消息", "请选择一条记录!", "warning");
}
}
</script>
}
<div>
<form id="form1">
<fieldset style="border: 1px solid #99BBE8; ">
<legend style="font-size:12px;font-weight:bold;color:#0E2D5F;height:16px;line-height:16px;">信息查询</legend>
航司二字码:<input name="AirCode" />
航司简称:<input name="AirName" />
<input type="button" value="查询" id="btnSearch" />
</fieldset>
</form>
<div style="margin-top: 8px;">
<div id="grid" title="航线列表"></div>
</div>
</div>
<div id="dialogAdd" class="easyui-window" title="新增航线" collapsible="false" minimizable="false"
maximizable="false" icon="icon-save" style="width: 450px; height: 300px; padding: 5px;
background: #fafafa;" closed="true">
<div class="easyui-layout" fit="true">
<div region="center" border="false" style="padding: 10px; background: #fff; border: 1px solid #ccc;">
<form id="fromAdd" enctype="multipart/form-data">
<table cellpadding="3">
<tr>
<td style="text-align:right;">航司二字码:</td>
<td><input name="AirCode" type="text" class="txt" id="AirCode" />
<input name="ID" type="text" class="txt" id="ID" value="0" style="display:none;"/>
</td>
</tr>
<tr>
<td style="text-align:right;">航司简称:</td>
<td><input name="AirName" type="text" class="txt" id="AirName" /></td>
</tr>
<tr>
<td style="text-align:right;">航司全称:</td>
<td><input name="AirFullName" type="text" class="txt" id="AirFullName" /></td>
</tr>
<tr>
<td style="text-align:right;">航司Logo:</td>
<td>
<input name="LogoUrl" type="text" class="txt" id="LogoUrl" />
<input type="file" id="txtPic" name="txtPic" />
<input type="button" name="btnFileImage" value="上传 " id="btnFileImage" />
</td>
</tr>
<tr>
</tr>
<tr>
<td style="text-align:right;">航班类型:</td>
<td>
<input type="radio" name="Nation" id="radDisabled" value="1" checked="checked" />
<label for="radDisabled">国内</label>
<input type="radio" name="Nation" id="radEabled" value="2" />
<label for="radEabled">国际</label>
</td>
</tr>
</table>
</form>
</div>
<div region="south" border="false" style="text-align: right; height: 30px; line-height: 26px;">
<a id="btnEp" class="easyui-linkbutton" icon="icon icon-ok" href="javascript:void(0)">
确定
</a> <a id="btnCancel" class="easyui-linkbutton" icon="icon icon-cancel" href="javascript:void(0)">取消</a>
</div>
</div>
</div>
二、Controllers
using Guoany.Basic.Models;
using Guoany.Core.Utilitys;
using Guoany.Service.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Web;
using System.Web.Mvc;
namespace Guoany.Web.Areas.Manager.Controllers
{
public class AirlineController : Controller
{
//
// GET: /Manager/Airport/
public ActionResult Index()
{
return View();
}
public JsonResult List(int? page, int? rows, string AirCode, string AirName)
{
var totalCount = -1;
page = page ?? 1;
rows = rows ?? 20;
var list = new EasyUiPageResult<AirlineInfo>() { total = totalCount };
using (var factory = new ChannelFactory<IAirline>("*"))
{
var client = factory.CreateChannel();
var result = client.SelectBy(page.Value, rows.Value, AirCode, AirName, ref totalCount);
list.rows = result;
list.total = totalCount;
}
return Json(list, JsonRequestBehavior.AllowGet);
}
[HttpPost]
public ActionResult Add(AirlineInfo model)
{
try
{
var flag = false;
var msg = "新增{0}";
using (var factory = new ChannelFactory<IAirline>("*"))
{
var client = factory.CreateChannel();
if (model.id == "0" || model.id == "")
{
flag = client.Add(model) > 0;
}
else
{
msg = "修改{0}";
flag = client.Update(model);
}
}
return Json(new { msg = string.Format(msg, flag ? "成功" : "失败"), success = flag }, JsonRequestBehavior.AllowGet);
}
catch
{
return View();
}
}
//
GET: /Manager/Airport/Edit/5
//public ActionResult Edit(int id)
//{
// try {
// using (var factory = new ChannelFactory<IAirline>("*"))
// {
// var client = factory.CreateChannel();
// return Json(client.GetModel(id));
// }
// }
// catch {
// return View();
// }
//}
//
// GET: /Manager/Airport/Delete/5
public ActionResult Delete(int id)
{
var flag = false;
using (var factory = new ChannelFactory<IAirline>("*"))
{
var client = factory.CreateChannel();
flag = client.Delete(id);
}
return Json(new OpResult { msg = string.Format("删除{0}", flag ? "成功" : "失败"), success = flag }, JsonRequestBehavior.AllowGet);
}
/// <summary>
/// 上传图片
/// </summary>
/// <returns></returns>
public ActionResult FileUpload()
{
string id = Guid.NewGuid().ToString();
//保存上传的图片
HttpPostedFileBase imgFile = Request.Files[0];
string fileName = imgFile.FileName;
//转换只取得文件名,去掉路径。
if (fileName.LastIndexOf("\\") > -1)
{
fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1);
}
//保存到相对路径下。
imgFile.SaveAs(Server.MapPath("/photo/" + id + fileName));
return Content("/photo/" +id+ fileName);
}
}
}