问题标签 [viewbag]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - ViewData 和 ViewBag 有什么区别?
ViewBag
我在 MVC 3 中看到了。这与ViewData
MVC 2 中的有什么不同?
asp.net-mvc - 在 MVC 中使用 ViewBag 不好吗?
看起来 mvc 3 团队决定引入一个在控制器和视图之间进行动态数据交换的功能,称为 viewbag,但对于我们都知道的强类型视图来说,这是一件好事吗?ViewBag
使用强类型视图与使用强类型视图有哪些积极和消极方面?
asp.net-mvc-3 - 为什么 MVC 视图需要存在于 View 目录中才能工作?
我一直在编写一个将 MVC 用作生成页面的主要引擎的 cms。
我进展顺利,但希望能够为每个站点创建一个独特的剃须刀模板,如果需要,还可以为每个视图创建一个独特的剃须刀模板。
我的规则是每个项目都必须有一个与 url 链接的唯一代码。
每个项目站点的资产以位置与项目相关的方式存储。
因此,与项目 C0001 关联的资产将存储在C0002 中assets\C0001\
并用于 C0002:assets\C0002\
等等。
为了保持整洁,我想做的是让剃须刀模板也与位于该assets\[ProjectCode]
位置的项目相关联,但问题是我收到关于ViewBag not existing in context
.
所以这行不通:
如下将呈现页面:
我猜第一个布局没有呈现,因为它在已知的视图搜索区域之外?但是当我告诉它文件在哪里时,我看不出问题出在哪里?
我很高兴使用示例 2 中的代码,但可能意味着在相当数量的项目站点之后,共享视图目录将变得非常繁忙。
Views
只是想知道视图需要存在于目录中是否有原因?
dll - 当前上下文中不存在名称“ViewBag”
我正在尝试在我的应用程序中使用 ViewBag,我拥有所有最新的 dll,最新版本的 MVC 3,但我仍然收到错误消息:
“当前上下文中不存在名称‘ViewBag’”
我什至卸载并重新安装了 MVC 3,但没有任何变化。
另外,我不相信 dll 会出现在 GAC 中。
我的问题可能是什么?或者如何将dll添加到GAC?
view - 在局部视图中修改 MVC 3 ViewBag 不会持续到 _Layout.cshtml
我正在使用带有 Razor 视图引擎的 MVC 3。我想在部分视图内的 ViewBag 中设置一些值,并希望在我的 _Layout.cshtml 中检索这些值。例如,当您设置默认的 ASP.NET MVC 3 项目时,您会在“/Views/Shared”文件夹中获得一个 _Layout.cshtml 文件。在那个 _Layout.cshtml 中,页面标题设置如下:
然后在“/Views/Home/About.cshtml”视图中修改ViewBag的内容:
这工作正常。呈现关于视图时,页面标题为“关于我们”。所以,现在我想在 About 视图中呈现 Partial 视图,并且我想在 Partial 视图中修改 ViewBag.Title。("/Views/Shared/SomePartial.cshtml")
在此部分视图中,我有以下代码:
当我调试这段代码时,我看到 ViewBag.Title 被设置为“关于我们”,然后在部分视图中我看到它被重置为“从部分视图中关于我们”,但是当代码点击 _Layout.cshtml 时回到“关于我们”。
这是否意味着如果在 Partial 视图中修改了 ViewBag 的内容,这些更改将不会出现(可访问)在主视图(About.cshtml)或 _Layout.cshtml 中?
提前致谢!
vb.net - VB.NET 中 MVC3 ViewBag 的后期绑定问题
我正在尝试在 VB.NET MVC3 项目中使用 MVC Scaffolding,并遇到了设置 Option Strict 的后期绑定问题(我想要它)。
这在 C# 中有效:
但在 VB.NET 中几乎相同的代码:
导致编译器错误Option Strict On disallows late binding。我在这里查看了文档:http: //msdn.microsoft.com/en-us/library/system.web.mvc.controllerbase.viewbag (VS.98).aspx但它不是很有帮助。
我注意到 C# 中的一个新的空应用程序在ViewBag
VB.NETHomeController
版本中使用ViewData
,所以这可能是 VB.NET 的限制。
asp.net-mvc - MVC 中的 ViewBag 与 ViewData 性能差异?
我知道 ViewData 和 ViewBag 都使用相同的支持数据,并且在大多数情况下都没有使用强类型模型好。然而,在两者之间进行选择时,ViewBag 的动态特性是否比使用 ViewData 慢?
asp.net-mvc-3 - ASP.NET MVC 3 模型绑定 - ViewBag.Title 与 id="Title" 的输入冲突
ViewBag 动态属性似乎存在问题。可以说我有:
然后在页面上的表格中我有:
其中 Title 是数据库表中字段的名称。
当页面首次打开时,ID 为“Title”的文本框采用 ViewBag.Title 动态属性的值。
我对模型绑定的确切细节有点模糊,但这似乎是一个错误,或者如果不是,如果它是由于绑定过程而自然发生的事情,那么很高兴被警告这。
我发现的解决方法是将 ViewBag 属性重命名为:
(标题更改为 Titulo - 总是很高兴知道另一种语言以避免名称冲突......)
问题就消失了。
然而,问题是:
这种行为是可以预期的吗?这个错误很容易找到(花了一个小时才弄清楚,包括写这个问题),但我怀疑其他错误可能更多,嗯,深奥。
编辑:
改写问题:
Model Binder 会自动绑定它在 ViewBag 中找到的属性吗?即使我已传递给页面的强类型 ViewModel 中存在现有属性?当然 ViewModel 应该优先考虑?
asp.net-mvc-3 - 有没有办法使用字符串键访问 .NET MVC ViewBag 的属性?
我在 ViewBag 中有一个值:
在我看来,我将密钥存储为字符串。
有没有办法使用这个字符串版本的密钥从 Viewbag 访问我的值?
.net - 为什么我要把我的物品放在袋子里?
我刚刚看到一个关于该类的 SO 问题System.Collections.ConcurrentBag<T>
,并且我已经看到了ASP.NET MVC 中的ViewBag
属性。Controller
根据我的经验,我了解到,如果您了解人们编写代码的确切目的,那么使用他们的代码会更容易。我认为它对于 aList<T>
或 aDictionary<TKey,TValue>
或 aReadOnlyCollection<T>
的含义非常直观。Bag
另一方面, A不是那么直观。
所以,我的问题是:这个Bag
隐喻意味着什么,特别是关于 .NET 框架?