在ASP.NET MVC中使用PagedList之2--将查询关键字传入后端

1. View


@{
    ViewBag.Title = "Processes Listing";
}
@using System.Reflection
@using PagedList.Mvc;
@using PagedList;
@using PagedListTest.Controllers


<link href="/Content/PagedList.css" rel="stylesheet" type="text/css" />


<form id="frmSearch" method="GET" action="@Url.Action("Index")">
    <div>
        Process Name @Html.TextBox("processName")
    </div>
    <div>
        Machine Name @Html.TextBox("machineName")
    </div>


<input type="submit" value="Search"/>
</form>




<h2>List of Processes</h2>
<ul>
    @foreach (var process in ViewBag.Processes)
    {
        <li>@process.ProcessName</li>
    }
</ul>


@Html.PagedListPager((IPagedList)ViewBag.Processes,
page => Url.Action("Index", new { page }))




@section scripts{
    <script>
        $(".pagination > li > a").click(function () {
            var pageUrl = $(this).attr("href");
            var queryStr = $("#frmSearch").serialize();


            $(this).attr("href", pageUrl + "&" + queryStr);
        });
    </script>
}







2.C# 


 
public object Index(int? page, string processName, string machineName)
        {
            var processes = System.Diagnostics.Process.GetProcesses();
            if (!string.IsNullOrWhiteSpace(processName))
            {
                processes = processes.Where(p => p.ProcessName.Contains(processName)).ToArray();
            }
            if (!string.IsNullOrWhiteSpace(machineName))
            {
                processes = processes.Where(p => p.MachineName.Contains(machineName)).ToArray();
            }


            var pageNumber = page ?? 1;
            var onePageOfProcesses = processes.ToPagedList(pageNumber, 25);


            ViewBag.Processes = onePageOfProcesses;
            return View();
        }


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值