Как я могу преобразовать свою функциональность подкачки в AJAX Insead?
В настоящее время у меня есть нумерация страниц в моем проекте MVC 3 с использованием библиотеки PagedList (https://github.com/TroyGoode/PagedList).
Я хотел бы преобразовать этот код, чтобы обновить страницу, используя ajax с новыми результатами, а не обновлять всю страницу. Я не совсем уверен, как это сделать. Я довольно новичок в MVC из Webforms. Любая помощь будет принята с благодарностью!
Вот мой код:
Домашний контроллер:
<code>//##################################### // ActionResult = Retrieve Comments //##################################### [ChildActionOnly] public ActionResult _Comments(int ProductID, int? Page) { //Perform the Database Query. try { //SQL Query - Get * records var Model = from r in DB.Comments where r.ProductID == ProductID select r; //Page number passed in via url. Default to 1 if not specified. var PageNumber = Page ?? 1; //Grab 6 results from the result set. var Results = Model.ToPagedList(PageNumber, 6); //Store Paged Result set in ViewBag for Paging. ViewBag.Results = Results; //Store in ViewBag for display (Page 1 of 43) ViewBag.PageNumber = PageNumber; //Get Total Pages: Divide Total Records by 6 Records per page. ViewBag.PageCount = Model.Count() / 6 + 1; //Return Records to my view. return PartialView(Results); } //There was an error. catch { //ViewBag.ErrorMessage = ex; return PartialView("Error"); } } </code>
PartialView: _Comments
<code>@model IEnumerable<DH.Models.Comment> @using PagedList.Mvc; @using PagedList; @{ //No Comments Yet if (@Model.Count() == 0) { <div id="CommentStatus">Be the first to comment on this product!</div> } //There are comments! else { foreach (var item in Model) { //html for writing out the comments... } } } <div>Page @ViewBag.PageNumber of @ViewBag.PageCount</div> @Html.PagedListPager((IPagedList)ViewBag.Results, Page => Url.Action("Index", new { Page = Page }), new PagedListRenderOptions { LinkToPreviousPageFormat = "< Prev", LinkToNextPageFormat = "Next >", LinkToLastPageFormat = "Última >>" }) </code>
модель
<code>namespace DH.Models { public class Comment { public int CommentID { get; set; } public int ProductID { get; set; } public string Author { get; set; } public string Message { get; set; } public DateTime MessageDate { get; set; } public int ThumbsUp { get; set; } public int ThumbsDown { get; set; } public string IP { get; set; } } } </code>