• MVC Webdiyer分页插件 实例


    1、添加MvcPager.dll引用

    2、页面引用

    @using Webdiyer.WebControls.Mvc
    @model PagedList<System.Data.DataRow>//指定model类型

    3、在<bodey>编辑

    @*-----搜索表单-------*@
    @*
    UpdateTargetId 异步更新模块id ListContent
    *@
    <div id="search">
    @using (Ajax.BeginForm("AdminList", new RouteValueDictionary { { "id", "" } }, new AjaxOptions { UpdateTargetId = "ListContent",
    InsertionMode = InsertionMode.Replace, HttpMethod = "Post" }, new RouteValueDictionary { { "id", "searchForm" } })) { <ul class="toolbar1"><label>添加日期</label>
    <input id="addTimeS" name="addTimeS" type="text" class="dfinput" style=" 100px; height: 20px; line-height: 20px;" />

    <input id="addTimeE" name="addTimeE" type="text" class="dfinput" style=" 100px; height: 20px; line-height: 20px;" />
    &nbsp; &nbsp;
    <input name="" type="submit" value="搜 索" /> </li> </ul> }
    @*-----搜索表单结束-------*@
    </div> @*-----异步更新模块-------*@ <div id="ListContent"> @Html.Partial("_AjaxAdminList", Model) </div>
    @*-----异步更新模块结束-------*@

    4、添加分部视图_AjaxAdminList

      

    @using Webdiyer.WebControls.Mvc
    @model PagedList<System.Data.DataRow>
        <table class="tablelist">
            <thead>
                <tr>
                    <th><input name="all" id="all" type="checkbox" value="" /></th>
                    <th>管理员编号<i class="sort"><img src="~/Areas/Content/images/px.gif" /></i></th>
                    <th>管理员姓名</th>
                    <th>管理员级别</th>
                    <th>添加时间</th>
                    <th>状态</th>
                    <th>操作</th>
                </tr>
            </thead>
            <tbody>
                       @if (Model != null && Model.Any())
           {
               string className;
               foreach (var md in Model)
               {
                  className = "";
                  if (Convert.ToInt32(md["ClassID"]) == 3) {className = "数据管理员";}
                  if (Convert.ToInt32(md["ClassID"]) == 4) {className = "系统管理员";}
                  if (Convert.ToInt32(md["ClassID"]) == 5) {className = "超级管理员";}
                   <tr>
                    <td>@if (Convert.ToInt32(md["id"]) != 1)
                           {<input name="id" type="checkbox" value="@md["id"]" />}</td>
                    <td>@md["userName"]</td>
                    <td>@md["name"]</td>
                    <td>@className</td>
                    <td>@md["addTime"]</td>
                    <td>@(Convert.ToInt32(md["status"])==0? "正常": "禁用" )</td>
                       <td>
                           @if (Convert.ToInt32(md["id"]) != 1)
                           {
                               <a href="/Cms/User/EditAdmin?id=@md["id"]" class="tablelink">编辑</a>                       
    <a href="javascript:void(0);"
    onclick="@(Convert.ToInt32(md["status"]) == 0 ? "javascript:Status(" + md["id"] + ",1)" : "javascript:Status(" + md["id"] + ",0)")"
    class="tablelink">
    @(Convert.ToInt32(md["status"]) == 0 ? "禁用" : "启用")</a>
    <a href="javascript:void(0);" onclick="Deletadmin(@md["id"])" class="tablelink"> 删除</a> } </td> </tr> } } else { <tr><td colspan=" 7" style="text-align:center;">未有数据</td></tr> } </tbody> </table> @Html.Partial("~/Areas/Cms/Views/Shared/PartialPage.cshtml", Model) @*分页显示*@

    5、在Shared创建PartialPage分部视图

    @using Webdiyer.WebControls.Mvc
    @model PagedList<System.Data.DataRow>
    <div class="pagin">
        <div class="message">共<i class="blue">@Model.TotalItemCount</i>条记录,当前显示第&nbsp;<i class="blue">@Model.CurrentPageIndex&nbsp;</i>页</div>
        @*<ul class="paginList">*@
            @Ajax.Pager(Model, new PagerOptions { PageIndexParameterName = "page", ShowPageIndexBox = false, ShowGoButton = false,
     AutoHide = false, ContainerTagName = "ul", CssClass = "paginList",  
    CurrentPagerItemWrapperFormatString = "<li class="paginItem current "><a href="avascript:;">{0}</a></li>",
     ShowFirstLast=false, PagerItemWrapperFormatString = "<li class="paginItem ">{0}</li>",
     NextPageText = "<span class="pagenxt"></span>", PrevPageText = "<span class="pagepre"></span>" },
                        new MvcAjaxOptions { UpdateTargetId = "ListContent", HttpMethod = "Post", DataFormId = "searchForm" })
            </div>
    
    @*之前的分页样式*@
    @*<li class="paginItem"><a href="javascript:;"><span class="pagepre"></span></a></li>
            <li class="paginItem"><a href="javascript:;">1</a></li>
            <li class="paginItem current"><a href="javascript:;">2</a></li>
            <li class="paginItem"><a href="javascript:;">3</a></li>
            <li class="paginItem"><a href="javascript:;">4</a></li>
            <li class="paginItem"><a href="javascript:;">5</a></li>
            <li class="paginItem more"><a href="javascript:;">...</a></li>
            <li class="paginItem"><a href="javascript:;">10</a></li>
            <li class="paginItem"><a href="javascript:;"><span class="pagenxt"></span></a></li>
        </ul>*@

    6、在控制器中创建AdminList方法

     public ActionResult AdminList(int page=1)
            {
                int total;
                StringBuilder strSql = new StringBuilder();
                strSql.Append("id>0 ");
               
                string startDate = Common.Tool.GetSafeSqlandHtml(Request["addTimeS"]);
                string overDate = Common.Tool.GetSafeSqlandHtml(Request["addTimeE"]);
                if (!String.IsNullOrEmpty(startDate.Trim()) && StringHelp.IsDate(startDate))
                {
                    if (startDate.Trim().Length <= 10)
                    {
                        strSql.Append(" and addTime>='" + startDate + " 00:00:00'");
                    }
                    else
                    {
                        strSql.Append(" and addTime>='" + startDate + "'");
                    }
                }
                if (!String.IsNullOrEmpty(overDate.Trim()) && StringHelp.IsDate(overDate))
                {
                    if (overDate.Trim().Length <= 10)
                    {
                        strSql.Append(" and addTime<='" + overDate + " 23:59:59'");
                    }
                    else
                    {
                        strSql.Append(" and addTime<='" + overDate + "'");
                    }
                }
                PagedList<System.Data.DataRow> pros = null;
                DataSet dt = BLL.User.GetUserList(page, 10, " addTime desc", strSql.ToString(), out total);
                pros = new PagedList<System.Data.DataRow>(dt.Tables[0].Select(), page, 10, total);
    
                if (Request.IsAjaxRequest())
                    return PartialView("_AjaxAdminList", pros);
                return View(pros);
            }

    了解更多可查看 Johnny Yan  的 MVC 之AjaxHelper

    最终效果:

     

  • 相关阅读:
    ssh免密码登录
    nginx做负载均衡+keepalived(做主备)
    centos之Too many open files问题-修改linux最大文件句柄数
    redis-JedisPoolConfig配置
    Hadoop端口说明
    hadoop 2.5 安装部署
    Java集合框架 10 连问,你有被问过吗?
    Dubbo面试八连问,这些你都能答上来吗?
    面试官:关于Java性能优化,你有什么技巧
    Docker从入门到掉坑(三):容器太多,操作好麻烦
  • 原文地址:https://www.cnblogs.com/mobobo/p/5544140.html
Copyright © 2020-2023  润新知