是否有页面导航的任何html助手。例如。如果我有1000条记录要显示,我想显示Previous 1 2 3 4 ...等下一个链接的东西在过滤的集合下。ASP.NET MVC的任何页面导航助手?
任何人都知道有什么吗?
是否有页面导航的任何html助手。例如。如果我有1000条记录要显示,我想显示Previous 1 2 3 4 ...等下一个链接的东西在过滤的集合下。ASP.NET MVC的任何页面导航助手?
任何人都知道有什么吗?
我在我的Dynamic Data for MVC sample application中有一个分页网格,但网格是手工渲染的。这些数据使用了来自Rob Conery的PagedList(他反过来我认为是从ScottGu那里得到的)。
我一直在思考什么分页格帮手可能看起来像MVC ...
是的布拉德,我试图避免使用一些预烘烤的控件,因为他们可能有一些webforms代码。我们需要烘焙到期货中的可能是Html.PageNavigation(...)助手,它需要大量的参数..从记录数量,记录总数,css类等,或者甚至只是一个PagedList(我也使用广泛..与LazyList一起(向Rob Con点头)。我已经开始编写一个PageNavigation:ViewUserControl
如果从JSON数据创建数据表,我强烈推荐YUI(Yahoo UI Library)DataTable组件(http://developer.yahoo.com/yui/datatable/)。它的分页效果非常好,您可以选择返回整个记录集,然后通过所有客户端进行分页或从服务器返回分页集。
可能不适合你的场景,但只是想我会提到它。
我所做的分页迄今为止是创建一个寻呼控制, 它需要一个分页url,更新的html元素id,页码,页面大小和总数。
分页链接的形式控制器/动作在动作返回一个HTML字符串(数据所呈现的页面)
寻呼机追加了页面的JavaScript链接的列表中。这些链接调用一个基于jQuery的ajax函数,该函数命中分页url。每个页面点击都会用ajax调用的结果替换html元素的当前内容。 事情是这样的:
public string Render()
{
var buffer = new StringBuilder(1000);
buffer.AppendLine(@"<ul class=""datatable_pager"">")
.AppendLine("\t<li>Additional Pages:</li>");
int numberOfPages = TotalItemCount % PageSize == 0 ? TotalItemCount/PageSize : TotalItemCount/PageSize + 1;
for(int i = 0; i < numberOfPages; i++)
{
AppendPageLink(buffer, i);
}
buffer.AppendLine("\t</ul>");
AppendPagingJS(buffer);
return buffer.ToString();
}
private void AppendPageLink(StringBuilder buffer, int i)
{
buffer.Append("\t\t<li><a href=\"")
.Append(PagingLink.Replace("$PAGE$", i.ToString()))
.Append("\">")
.Append(i.ToString())
.Append("</a>")
.AppendLine("\t\t</li>");
}
private void AppendPagingJS(StringBuilder buffer)
{
buffer.AppendLine(@"
<script type=""text/javascript"">
function page(page, size, updateElement)
{
$.post('" + PagingUrl + @"',
{
pageNumber: page,
pageSize: size,
},
function(response)
{
$(""#"" + updateElement).html(response);
},
""html""
);
}
</script>");
}
JavaScript的职位,以寻呼URL,这样的行动将需要再像做:
int.TryParse(Request.Params [ “PAGENUMBER”],走出页) int.TryParse(Request.Params [“pageSize”],out size))
并将结果与您的数据访问组件一起抓取数据页面,将其呈现为html并返回它。
希望有帮助,如有需要,我可以扩展它。
一个链接是404,一个指向博客的主页,最后一个链接根本没有帮助。失败! – Martin 2009-08-17 01:46:06