zoukankan      html  css  js  c++  java
  • mvc多条件查询

    主要步骤如下

    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);
    
            }
    

      

  • 相关阅读:
    Slider
    好久没更新了,发照片.....
    第二天、SQL*PLUS基本使用
    二进制方式存储图片(数据库)
    PagingBulletedList
    第四天、PL/SQL基础
    第八天、安全管理
    MutuallyExclusiveCheckBox
    第六天、视图,同义词,序列
    Rating
  • 原文地址:https://www.cnblogs.com/lt123/p/7050812.html
Copyright © 2011-2022 走看看