如何在ASP.NET razor语法中使用数据模板

时间:2013-10-07 09:00:51

标签: asp.net razor

我正在开发asp.net项目,我想制作一个类似这样的页面:

enter image description here

我想将图像放在上一张图片中,就像数据模板一样,我希望以这种方式显示页面数字.... 是否有一篇好的文章或教程可以帮助我完成这个...因为我是这个领域的初学者....

2 个答案:

答案 0 :(得分:6)

假设视图模型:

public class ProjectVM
{
  public String ImageUrl { get; set; }
  public String ProjectName { get; set; }
}
public class IndexVM
{
  // nuget> Install-Package PagedList
  public IPagedList<ProjectVM> projects { get; set; }
}

然后你的控制器:

public class HomeController : Controller
{
  public ActionResult Index(Int32 page = 1)
  {
    IndexVM model = new IndexVM
    {
      Projects = projectService.GetProjects().ToPagedList(page, 6)
    };
    return View(model);
  }
}

然后你的意见:

<强>〜/查看/共享/ DisplayTemplates / ProjectVM.cshtml

@model ProjectVM
@* Or however you display it... *@
<div class="span4">
  <img src="@Model.ImageUrl" />
  <p>@Model.Name</p>
</div>

<强>〜/查看/主页/ Index.cshtml

@mode IndexVM
@* Or however you display it... *@
<div class="content">
  <section>
    <div class="title">
      <h1>All projects</h1>
      <div class="paging">
        @Html.PagedListPager((IPagedList)Model.Projects, page => Url.Action("Index", new { page }))
      </div>
   @Html.DisplayFor(x => x.Projects)
</div>

找到示例项目on GitHub

答案 1 :(得分:1)

是的,你会在精彩的书籍Pro ASP.NET MVC 4中找到它 在第101页(剃刀)和183(传呼)。这是必读书!

http://www.amazon.com/Pro-ASP-NET-MVC-Adam-Freeman/dp/1430242361/ref=sr_1_1?ie=UTF8&qid=1381864006&sr=8-1&keywords=asp.net+mvc