動態對象Page
可在System.Web.WebPages.WebPageBase
中找到,它是繼承自WebViewPage
的抽象類。MVC3中的Page和ViewBag動態對象有什麼區別?
可在System.Web.Mvc.WebViewPage
中找到動態對象ViewBag
。
兩者都可以從視圖傳播到佈局頁面。
我能看到的另一個區別是ViewBag
可以在控制器中使用,而Page
只在視圖中可用。我應該瞭解其他的區別嗎?
動態對象Page
可在System.Web.WebPages.WebPageBase
中找到,它是繼承自WebViewPage
的抽象類。MVC3中的Page和ViewBag動態對象有什麼區別?
可在System.Web.Mvc.WebViewPage
中找到動態對象ViewBag
。
兩者都可以從視圖傳播到佈局頁面。
我能看到的另一個區別是ViewBag
可以在控制器中使用,而Page
只在視圖中可用。我應該瞭解其他的區別嗎?
Page
和ViewBag
是動態的,它們是字典的包裝。
Page
是PageData
字典的動態包裝。 ViewBag
是圍繞ViewData
字典的動態封裝。
當談論的差異,
ViewBag
用於共享控制器和視圖甚至我們可以使用到一個主視圖和局部視圖之間共享數據之間的數據。所以可以從控制器和視圖訪問ViewBag。
Page
是一個有點不同的東西,它不能從控制器訪問,它被用來在主頁面和部分頁面之間傳遞數據。
查看使用Page
在主視圖和局部視圖之間傳遞數據的示例。
Main.cshtml
@{
Page.Name = "Mark;
}
@RenderPage("DisplayName.cshtml"); // partial view
DisplayName.cshtml
<p>
Name: @Page.Name
</p>
不,我使用的RenderPage
呈現局部視圖也局部視圖位於同一主視圖所在的目錄。
它可能有助於指出'ViewBag'是* * WebViewPage和'ControllerBase'的屬性,並且來自其中的數據被複制到另一箇中。 –
@MichaelEdenfield您能否詳細說明您的評論。如何將其複製到其他論壇。 – Abi
http://stackoverflow.com/questions/6429079/what-is-the-difference-between-viewdata-pagedata-in-asp-net-mvc-3 – VJAI