smd*_*ger 3 .net c# asp.net-mvc asp.net-mvc-3
动态对象Page可以在继承自System.Web.WebPages.WebPageBase的抽象类中找到WebViewPage.
ViewBag可以在中找到动态对象System.Web.Mvc.WebViewPage.
两者都可以从视图传播到它的布局页面.
我能看到的另一个区别是ViewBag可以在Controller中使用,而Page只能在视图中使用.还有其他我应该知道的差异吗?
Page并且ViewBag是动态的,它们是字典的包装.
Page是PageData字典的动态包装器.ViewBag是ViewData字典的动态包装器.
谈论差异时,
ViewBag用于在控制器和视图之间共享数据,甚至我们可以用来在主视图和部分视图之间共享数据.因此可以从控制器和视图访问ViewBag.
Page 有点不同,它无法从控制器访问,它用于在主页和部分页之间传递数据.
请参阅此处的示例,Page用于在主视图和部分视图之间传递数据.
Main.cshtml
@{
Page.Name = "Mark;
}
@RenderPage("DisplayName.cshtml"); // partial view
Run Code Online (Sandbox Code Playgroud)
DisplayName.cshtml
<p>
Name: @Page.Name
</p>
Run Code Online (Sandbox Code Playgroud)
不是我正在使用RenderPage渲染局部视图,部分视图也位于主视图所在的同一目录中.
| 归档时间: |
|
| 查看次数: |
1750 次 |
| 最近记录: |