gpt4 book ai didi

c# - MVC3中的Page和ViewBag动态对象有什么区别?

转载 作者:行者123 更新时间:2023-11-30 14:36:14 24 4
gpt4 key购买 nike

动态对象Page可以在System.Web.WebPages.WebPageBase中找到,WebViewPage继承自抽象类。

动态对象 ViewBag 可以在 System.Web.Mvc.WebViewPage 中找到。

两者都可以从 View 向上传播到它的布局页面。

我能看到的另一个区别是 ViewBag 可以在 Controller 中使用,而 Page 只能在 View 中使用。还有其他我应该知道的区别吗?

最佳答案

PageViewBag 是动态的,它们是字典的包装器。

PagePageData 字典的动态包装器。 ViewBagViewData 字典的动态包装器。

当谈论差异时,

ViewBag 用于在 Controller 和 View 之间共享数据,甚至我们可以用来在主视图和部分 View 之间共享数据。因此可以从 Controller 和 View 访问 ViewBag。

Page 有点不同,它不能从 Controller 访问,它用于在主页面和部分页面之间传递数据。

请在此处查看使用 Page 在主视图和分部 View 之间传递数据的示例。

Main.cshtml

@{
Page.Name = "Mark;
}

@RenderPage("DisplayName.cshtml"); // partial view

DisplayName.cshtml

<p>
Name: @Page.Name
</p>

并不是说我正在使用 RenderPage 来呈现部分 View ,而且部分 View 位于主视图所在的同一目录中。

关于c# - MVC3中的Page和ViewBag动态对象有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10816394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com