您的位置:首页 > 编程语言 > ASP

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

2015-02-14 22:52 639 查看
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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: