问题标签 [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.
asp.net-mvc-3 - ViewBag 在创建 MultiSelectList 时的奇怪之处
我花了很多时间在各种论坛上寻找有关 asp.net MVC3 中的 MultiSelectLists 的帮助。终于想出了如何解决我的问题,现在我正试图减少我的代码,但我在 ViewBags 上遇到了一些奇怪的事情。首先是代码,然后我将解释行为。
我的函数创建了控制器使用的 MultiSelectList
来自控制器的编辑操作的部分代码
视图中的部分代码
请记住,我已经从编辑操作中删除了大量代码,我为这个安全角色管理器创建了大约 9 个列表框。
我的目标是在编辑操作中简单地拥有 1 行代码,调用GetPermissionList并将其返回到视图包,这样我就可以在视图中显示它,而不是我目前拥有的每个列表框 2 行。
只看代码,如果我以这种方式进行调用似乎很明显:
ViewBag.OrdersListBox = GetPermissionList(securityroles.Orders.Split(','));
它应该可以工作,但是选择的值没有通过。更奇怪的是,这是我尝试过的其他方法并且效果很好,但是为什么没有意义。
ViewBag.Orders = securityroles.Orders.Split(',');
ViewBag.OrdersListBox = GetPermissionList(securityroles.Orders.Split(','));
ViewBag.Orders在ViewBag.OrdersListBox中没有任何作用,也没有在视图中使用,但是当我简单地为它分配一个值时,第二行代码就起作用了。
这对任何人都有意义吗?关于如何通过向GetPermissionList发送一个字符串数组而不是向其传递 ViewBag 对象来创建一种简单地正常工作的方法的任何建议?
asp.net-mvc - JQuery中的MVC null ViewBag
我有一个没有价值的 ViewBag。我什至没有在我的控制器中定义 ViewBag.SelectVale,所以我希望它是一个空值。
当我在 JQuery 中执行以下操作但不起作用时:
取而代之的是:
javascript - 从 MVC 控制器向 javascript 传递参数?
我想将动态 url 作为参数传递给 javascript,从 MVC 控制器中检索其值。可以使用 ViewBag 吗?
这是我的需求的一个例子,它不起作用:
提前致谢!
javascript - 根据viewbag设置默认下拉默认值
我有一个下拉列表,当其选定值发生更改时会重新加载页面。这可以正常工作并按预期呈现。唯一的问题是下拉列表回到默认值。如何更改默认值以匹配 ViewBag.Value?
脚本
控制器根据传入的参数设置 ViewBag.Level
asp.net-mvc-3 - 如何在编辑视图 MVC 中显示其他只读视图数据
我有一个视图来处理编辑操作,用于编辑您的体重和营养的每周更新。编辑一个单一的模型都很好。我正在使用 EditorFor 创建字段。
我的问题是我还想显示上周结果的只读版本作为指南,但我想使用 DisplayFor 以便将布尔值格式化为禁用复选框,并根据我在模型中的格式设置日期格式。我将模型添加到 Viewbag 并尝试使用 @Html.DisplayFor(x => x.BodyWeight, (myproject.Models.WeeklyReport)ViewBag.LastReport) 访问它,但它只是在我发送的模型中显示数据到视图而不是 Viewbag 数据。在保持模型约束/格式不变的同时显示此类数据的最佳方法是什么?
谢谢。
看法
控制器
asp.net-mvc - 为具有自定义基类的视图编写单元测试
我们有一个 MVC 3 Razor Web 项目,我们在其中为我们的视图指定了一个自定义基类。在这个基础视图类的 InitializePage 方法中,我们正在做一些初始化并将一个对象保存到 ViewBag。此信息充当我们布局页面的“模型”。这里的一条信息是在布局页面中呈现的结构化上下文菜单。此菜单上的项目可以更改,具体取决于登录我们网站的用户。
我的问题是如何对在基本视图类中运行的代码进行单元测试。由于此代码仅在呈现视图时运行,除了模拟在其下执行视图的控制器上下文之外,我还有其他选择吗?我在互联网上看到了一些关于这样做的示例,似乎它比它的价值更麻烦。
任何想法都会有所帮助。谢谢!
c# - 在 ViewBag 中存储匿名对象
这可能是一个愚蠢的问题,但我试图ViewBag
像这样填充一个匿名对象:
并像这样从视图中访问它:
@ViewBag.Stuff.Name
我知道 ViewBag 是动态的,并且“Stuff”是一个匿名对象......但是当我从上面的 View 行中使用调试器查看时,我可以看到所有具有正确值的属性。为什么模型活页夹会遇到这样的困难?
有没有不创建模型类的好方法来实现这一点?我想继续使用new {}
c# - 来自另一个程序集的 Razor 布局
是否可以使用来自另一个程序集的布局?我将我的应用程序分成不同的层,并有一个单独的 UI 层,其中包含供设计师编辑的主布局。
有可能吗?我的参考资料会是什么样子?
asp.net-mvc-3 - ViewBag/ViewData 生命周期
我看过很多关于何时使用 ViewBag/ViewData 与 ViewModel 的帖子,但我无法找到关于 ViewBag 生命周期的解释。
例如,我在一个控制器中有两个 Action 方法:
和
如果我在 GET 操作方法中的 ViewBag 中放置了一些值,以设置一些表单标签,那么当他们用户单击“提交”按钮并通过 HTTP POST 将表单回发到服务器时,ViewBag 值不再包含在POST 操作方法。
有人可以解释(或提供好文章的参考) ViewBag/ViewData 的生命周期吗?
c# - MVC3 在 ViewBag 文本中添加换行符
我有一个 MVC3 C#.Net 网络应用程序。我正在循环一个数据表。有些行导入正常,有些行不正常。我想以列表格式将错误列表发送回视图。我将以下文本分配给 ViewBag 属性
我希望 br 会在 HTML 中写一个换行符。它不是。我希望错误消息看起来像这样
有任何想法吗?