标签:
除了分段之外,我们还可以使用分布视图和子动作来生成动态内容。
分布视图:
我们可以在Views/Shared目录下右击ADD,添加视图,像往常一样命名为partial,但是要勾选那个分布视图(partial View)。创建好后,我们随便添加一点内容:
<div> This is a message for partial view. @Html.ActionLink("To Index","Index") </div>
OK,完了之后我们再到主视图中添加:
@Html.Partial("partial")
在此启动应用程序,导航到这个视图便会发现多了一些东西了~
另外我们还可以使用强类型分布视图,具体用法如下:
@model IEnumerable<string> <div> This is a message for partial view. @foreach(var item in Model){ <p>@item</p> } </div>
然后再到普通视图里面添加:
@Html.Partial("partial",new []{"apple","microsoft","google"})
子动作:
我们在控制器中添加如下方法
[ChildActionOnly] public ActionResult Child() { return PartialView(DateTime.Now); }
这里我们使用了注解属性。表示他是一个子动作。然后右击添加视图,并写下这行代码:
@model DateTime
@{
ViewBag.Title = "Test";
Layout = "~/Views/Shared/_Layout.cshtml";
}
The Time is @Model.ToShortDateString()
ok,接下来就是调用子动作,很简单,又是一行代码:
@Html.Action("Child");
ok,接下来又会动态渲染了~如果我们想传递给子动作一些数据,只需要添加第二个数据:
@Html.Action("Child",new {time = DateTime.Now});
再到动作方法中接收即可:
[ChildActionOnly] public ActionResult Child(DateTime time) { return PartialView(time); }
see you~
标签:
原文地址:http://www.cnblogs.com/blackerXHunter/p/4553105.html