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

      

  • 相关阅读:
    C#操作REDIS例子
    A C# Framework for Interprocess Synchronization and Communication
    UTF8 GBK UTF8 GB2312 之间的区别和关系
    开源项目选型问题
    Mysql命令大全——入门经典
    RAM, SDRAM ,ROM, NAND FLASH, NOR FLASH 详解(引用)
    zabbix邮件报警通过脚本来发送邮件
    centos启动提示unexpected inconsistency RUN fsck MANUALLY
    rm 或者ls 报Argument list too long
    初遇Citymaker (六)
  • 原文地址:https://www.cnblogs.com/lt123/p/7050812.html
Copyright © 2011-2022 走看看