我剛剛開始使用ASP.NET - MVC 4構建一個網站,並且我試圖圍繞它的工作原理包裝我的頭。部分視圖控制器ASP.NET MVC
我想在每個頁面上顯示一些數據,並且已經瞭解部分視圖對此很有幫助。
是否有可能創建一個總是爲局部視圖提供數據的控制器?或者我該如何解決這個問題?
我剛剛開始使用ASP.NET - MVC 4構建一個網站,並且我試圖圍繞它的工作原理包裝我的頭。部分視圖控制器ASP.NET MVC
我想在每個頁面上顯示一些數據,並且已經瞭解部分視圖對此很有幫助。
是否有可能創建一個總是爲局部視圖提供數據的控制器?或者我該如何解決這個問題?
這就是所謂的兒童行爲。
致電Html.Action(...)
。
您可以爲局部視圖創建控制器操作。但是,如果你正在尋找的每一頁上inlcluding一些事情,你應該考慮加入,爲您的_Layout.cshtml頁面
您可以創建返回這樣
public ActionResult UserInfo()
{
UserViewModel objVm=GetUserInf();
// do some stuff
return View("PartialUserInfo",objVM);
}
的局部視圖正常的操作方法這將返回名稱爲「PartialUserInfo
」目前的視圖,您Views/Users
文件夾中(假設你的控制器名稱是用戶,如果要指定一個視圖這是一個不同的位置調用查看方法
returnView("Partial/UserInfo",objVm);
的時候可以提到它0
這將在您的Views/Users/Partial
文件夾中返回一個名爲「UserInfo」的視圖。
在你的局部視圖,您可以禁用正常佈局(如果有的話)由doint這個
@model UserViewModel
@{
Layout=null;
}
一種方法是對父視圖的模型(一個託管所有的諧音)它包含的屬性在其模型中的局部視圖模型
EX:
MainModel.ModelForPArtialView1
MainModel.ModelForPArtialView2
MainModel.ModelForPArtialView3
這樣,你可以做到這一點父視圖
@Html.Partial("PartialView1",MainModel.ModelForPArtialView1)
@Html.Partial("PartialView2",MainModel.ModelForPArtialView2)
@Html.Partial("PartialView3",MainModel.ModelForPArtialView3)
解決方案還取決於視圖內容是否發生變化。所有父視圖中的部分內容是否完全相同? – TGH 2012-04-01 19:45:23
會生成額外的請求嗎? – johan 2012-04-01 19:43:43
@johan:不。 – SLaks 2012-04-01 19:58:09