我想知道最簡單的方法是做什麼。這是我的場景:我有一個應用程序顯示用戶的審計歷史記錄。目前,這設置爲僅返回100條記錄,並且只顯示20條記錄。有沒有簡單的方法來使用js來實現分頁,這將顯示所有100個條目,然後當「下一頁」按鈕被點擊時,它將獲取下100個條目?下面是代碼的樣子:MVC 4用JavaScript尋址
在UserHelper我:
public AuditInfo GetAuditInfo(SearchInfo searchInfo)
{
AuditInfo auditInfo = new AuditInfo();
if (searchInfo != null)
{
List<AuditRecord> auditRecords =
UserManager.GetAuditRecords(record => record.Username == searchInfo.UserName,
records => records.OrderByDescending(record => record.Date), 0, 100);
auditInfo.AuditRecords = auditRecords;
}
return auditInfo;
}
而在控制我有:
public ActionResult AuditHistory(String username)
{
SearchInfo searchInfo = new SearchInfo { UserName = username };
AuditInfo auditInfo = _userHelper.GetAuditInfo(searchInfo);
Response.CacheControl = "no-cache";
Response.AddHeader("Pragma", "no-cache");
Response.Expires = -1;
return PartialView(auditInfo);
}
視圖模型簡單地返回一個列表AuditRecords和迭代通過他們在視圖中,用一些javascript爲數據表如下:
<script type="text/javascript">
$(document).ready(function() {
$('#tbl_std_documents').dataTable({
"bFilter": false,
"bPaginate": false,
"bSort": false,
"bInfo": false
});
$("a.comment").fancybox({
'type': 'inline',
'transitionIn': 'elastic',
'transitionOut': 'elastic',
'hideOnContentClick': true,
'speedIn': 600,
'speedOut': 200,
'overlayShow': false
});
});
</script>
車削在bPaginate和bFilter上允許我一次查看100條返回的記錄10,並允許基於搜索框進行過濾。我希望能夠一次查看100個條目,並具有從數據庫中抓取下一個100條的功能。謝謝您的幫助!
我會在哪裏放置ajax調用?我已經在網頁上的JavaScript內? – Skrubb
是的,並且在SuccessHandler函數中,傳遞的參數是從服務器返回的JSON對象。 – korhner
我對javascript不太好,SuccessHandler看起來/工作怎麼樣? – Skrubb