1. 程式人生 > >MVC5+EF6之分部視圖(Partial View)

MVC5+EF6之分部視圖(Partial View)

視圖 表示 時間 books 訪問 family red 樣式 idg


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改變傳遞不同的數據

MVC5+EF6之分部視圖(Partial View)