主要步骤如下
1.easy-ui布局布局
<div> 用户名:<input type="text" class="easyui-textbox" id="txtSchName" name="txtSchName"/> 备注:<input type="text" class="easyui-textbox" id="txtSchRemark" name="txtSchRemark"/> <a class="easyui-linkbutton" data-options="iconCls:'icon-search'" id="btnSearch" >搜索</a> <br /> <br /> </div>
2.绑定事件
function bindSearchBtnClick() { $('#btnSearch').click(function () { var data = { schName: $('#txtSchName').val(), schRemark: $('#txtSchRemark').val() }; initTable(data); }); }
3.后台处理
1)添加参数Model
//父类 public class BaseParam { public int PageSize { set; get; } public int PageIndex { set; get; } public int Total { set; get; } } //子类 public class UserQueryParam : BaseParam { //search -->Sch public string SchName { set; get; } public string SchRemark { set; get; } }
2)在IBLL层接口层添加方法
public partial interface IUserInfoService : IBaseService<UserInfo> { IQueryable<UserInfo> LoadPageData(Model.Param.UserQueryParam userQueryParam); }
在BLL层添加实现
public partial class UserInfoServices : BaseService<UserInfo>, LTeasyOA.IBLL.IUserInfoService { public IQueryable<UserInfo> LoadPageData(LTeasyOA.Model.Param.UserQueryParam userQueryParam) { short normalFlag = (short)LTeasyOA.Model.Enum.DelFlagEnum.Normal; var temp = CurrentDal.GetEntities(c => c.DelFlag == normalFlag); if (!string.IsNullOrEmpty(userQueryParam.SchName)) { temp = temp.Where(u => u.UName.Contains(userQueryParam.SchName)).AsQueryable(); } if (!string.IsNullOrEmpty(userQueryParam.SchRemark)) { temp = temp.Where(u => u.Remark.Contains(userQueryParam.SchRemark)).AsQueryable(); } userQueryParam.Total = temp.Count(); //分页 return temp.OrderBy(c => c.ID).Skip(userQueryParam.PageSize * (userQueryParam.PageIndex - 1)).Take(userQueryParam.PageSize).AsQueryable(); #endregion
Controll控制器中添加具体实现
public ActionResult GetAllUserInfos() { int pageSize = int.Parse(Request["rows"] ?? "10"); int pageIndex = int.Parse(Request["page"] ?? "1"); string schName = Request["schName"]; string schRemark = Request["schRemark"]; int total = 0; var queryParam = new UserQueryParam() { PageSize=pageSize, PageIndex=pageIndex, Total=total, SchName=schName, SchRemark=schRemark }; var pageData = UserInfoService.LoadPageData(queryParam); var temp = pageData.Select(c => new { c.ID, c.UName, c.Remark, c.ShowName, c.SubTime, c.ModifiedOn, c.Pwd }); var data = new { total = total, rows = temp.ToList() }; return Json(data, JsonRequestBehavior.AllowGet); }