是否有頁面導航的任何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