目录
- ASP.NET MVC搭建项目后台UI框架—1、后台主框架
- ASP.NET MVC搭建项目后台UI框架—2、菜单特效
- ASP.NET MVC搭建项目后台UI框架—3、面板折叠和展开
- ASP.NET MVC搭建项目后台UI框架—4、tab多页签支持
- ASP.NET MVC搭建项目后台UI框架—5、Demo演示Controller和View的交互
- ASP.NET MVC搭建项目后台UI框架—6、客户管理(添加、修改、查询、分页)
- ASP.NET MVC搭建项目后台UI框架—7、统计报表
- ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中
- ASP.NET MVC搭建项目后台UI框架—9、服务器端排序
- ASP.NET MVC搭建项目后天UI框架—10、导出excel(数据量大,非常耗时的,异步导出)
这一节,我将用一个Demo来演示在此UI框架中,控制器和视图的交互。以渠道管理为例。效果图如下:
按回车执行查询,不是F5,笔误。
这里我使用了基于jquery的模态窗体组件lhgdialog和表格组件dataTables。dataTables更多资料请参考:http://dt.thxopen.com/example/
lhgdialog更多资料请参考:http://www.lhgdialog.com/api/
Action
1、在我们的MVC项目中的Models文件夹中,添加一个model类ChannelInfo.cs,因为项目中的ORM框架使用的是Nhibernate,所以属性前面加了virtual
public class ChannelInfo { public virtual int ID { get; set; } public virtual string ChannelStyle { get; set; } public virtual string ChannelCode { get; set; } public virtual string CnName { get; set; } public virtual string EnName { get; set; } public virtual string Status { get; set; } }
2、添加控制器ChannelController,这里为了演示,我使用的假数据
public class ChannelController : Controller { // // GET: /Channel/ public ActionResult Index() { return View(); } //添加渠道 public ActionResult AddChannel() { return View(); } [HttpPost] public JsonResult List(ChannelInfo filter) { List<ChannelInfo> list = new List<ChannelInfo>(); for (int i = 0; i < 1100; i++) { list.Add(new ChannelInfo { ID = 1, ChannelCode = "E_Express"+i, ChannelStyle = "香港E特快"+i, CnName = "香港E特快"+i, EnName = "HK E-Express"+i, Status = "1" }); } if (!string.IsNullOrEmpty(filter.ChannelCode)) { list = list.Where(x => x.ChannelCode == filter.ChannelCode.Trim()).ToList(); } if (!string.IsNullOrEmpty(filter.CnName)) { list = list.Where(x => x.CnName == filter.CnName.Trim()).ToList(); } if (!string.IsNullOrEmpty(filter.EnName)) { list = list.Where(x => x.EnName == filter.EnName.Trim()).ToList(); } //构造成Json的格式传递 iTotalRecords :总记录数 iTotalDisplayRecords :每页显示的记录数 var result = new { iTotalRecords = 1100, iTotalDisplayRecords = 10, data = list }; return Json(result, JsonRequestBehavior.AllowGet); } }