简体   繁体   English

asp.net mvc3中的“阅读更多”按钮

[英]Read More button in asp.net mvc3

I am working on asp.net mvc3 application and have many records coming from database. 我正在asp.net mvc3应用程序上工作,并且有许多记录来自数据库。 I want to display only 10 records first then user can click on button to see next 10 records and so on. 我只想先显示10条记录,然后用户可以单击按钮查看下10条记录,依此类推。 Like facebook wall posting more records. 像facebook墙张贴更多记录。 How can I implement this thing in my application ? 如何在我的应用程序中实现此功能? I am using this to get 10 records but I want to display all records using more record button 我正在使用它来获取10条记录,但我想使用“更多记录”按钮显示所有记录

This should get you going... 这应该让你走...


Assuming: 假设:

public class PostsViewModel
{
    public IEnumerable<PostViewModel> Posts { get; set; }
}

Your controller might look like: 您的控制器可能如下所示:

public class BlogController
{
    public ActionResult Index()
    {
        PostsViewModel model = new PostsViewModel 
        {
            Posts = postService.GetPosts(resultsPerPage: 10, page: 1)
        };
        return View(model);
    }

    public PartialViewResult More(Int32 page = 1)
    {
        PostsViewModel model = new PostsViewModel 
        {
            Posts = postService.GetPosts(resultsPerPage: 10, page: page)
        };
        return PartialView(model);
    }
}

And Views something like: 并且查看如下内容:

~/Views/Blog/Index.cshtml 〜/ Views / Blog / Index.cshtml

@model PostsViewModel
@* Other page content *@
@Html.DisplayFor(x => x.Posts)
<div id="more"></div>
@Ajax.ActionLink("Read More", "More", "Blog", new AjaxOptions {
    InsertionMode = InsertionMode.InsertBefore,
    UpdateTargetId = "more"
})
@* Other page content *@

~/Views/Blog/More.cshtml 〜/ Views / Blog / More.cshtml

@model PostsViewModel
@Html.DisplayFor(x => x.Posts)

~/Views/Blog/DisplayTemplates/PostViewModel.cshtml 〜/ Views / Blog / DisplayTemplates / PostViewModel.cshtml

@model PostViewModel
@* Display post itself *@

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM