MVC5+EF6之分部视图(Partial View)


    Partial View指可以应用于View中以作为其中一部分的View的片段(类似于之前的user control), 可以像类一样,编写一次, 然后在其他View中被反复使用。
创建分部视图:
(1)在shared文件夹下建立一个分部视图创建 _PartialPageWidget.cshtml
  借助Bookstrap中panel的样式:
<div class="panel panel-default">
    <div class="panel-heading">
        <h3 class="panel-title">Panel title</h3>
    </div>
    <div class="panel-body">
        Panel content
    </div>
</div>

(2)在新建的控制器MVCdemoController.cs中新建两个Action,SharedDateDemo和PartialViewDate。
 public ActionResult SharedDateDemo()
        {
            ViewBag.DateTime = DateTime.Now;
            return View();
        }
        [ChildActionOnly]
        public ActionResult PartialViewDate()
        {
            ViewBag.DateTime = DateTime.Now.AddMinutes(10);
            return PartialView("_PartialPageDateTime");
        }
注意:[ChildActionOnly] 表示这个Action只应作为子操作进行调用。也就是说直接通过 controller/action这样的网址是不能访问的,会提示只能由子请求访问的错误。必须返回一个PartialView
(3)在视图SharedDateDemo中添加相应的代码
<body>
    <div>
        <h2>SharedDateDemo</h2>
        <h1>主体View中的时间值</h1>
        @ViewBag.DateTime
        <h1>使用@@Html.Partial中的时间值</h1>
        @Html.Partial("_PartialPageDateTime")
        <h1>使用@@Html.View中的时间值</h1>
        @Html.Action("PartialViewDate")
    </div>
</body>

ps:可以通过Html.Action, 配合被调用的Action改变传递不同的数据

posted @ 2017-10-27 19:31  素年,锦时  阅读(546)  评论(0)    收藏  举报