问题标签 [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.

0 投票
2 回答
1442 浏览

asp.net-mvc-3 - 大量使用 ViewBag

我在我的 MVC 应用程序中大量使用 ViewBag,这被认为是不好的做法吗?我不确定是花时间创建 ViewModel(但我认为这更适合 MVVM 而不是 MVC)还是继续大量使用 ViewBag。支持和反对这一点的论据是什么?示例控制器方法将返回它的模型(通常是一个简单的域实体)以及对 ViewBag 的以下调用:

0 投票
1 回答
44144 浏览

c# - MVC 将 ViewBag 传递给控制器

我有一个 Viewbag,它是我从 Controller 传递到 View 的列表。在我的案例中,Viewbag 是 10 条记录的列表。一旦进入视图,如果用户单击保存,我喜欢将视图的内容传递给 [HttpPost] 创建控制器,以便我可以创建 Viewbag 中的记录。我很确定如何做到这一点。我已经为 1 个项目创建了一个新记录,但是我该如何为多个记录创建一个新记录。

0 投票
2 回答
5844 浏览

asp.net-mvc-3 - MVC3将数据从控制器传递到另一个控制器

将少量数据从一个控制器传递到另一个控制器,我是否使用 ViewBag?查看数据?或会话...等...什么是正确的方法。

eg My First [Controller1]/[Action: Register] 生成用户ID,然后需要重定向到另一个控制器

return RedirectToAction("Create", "Controller2");

然后在创建(HttpPost)上,我将数据 + 加上用户 ID 存储到数据库,然后重定向到下一个控制器,它在 HttpPost 上的行为方式相同,它将数据 + 加上用户 ID 存储到数据库。

我有点迷茫我应该采取什么方法,我如何以安全的方式/正确的方式传递用户ID?请指教,谢谢

0 投票
2 回答
2106 浏览

asp.net-mvc-3 - MVC3 下拉列表,显示每个项目的多个属性

我想在我的视图中有一个下拉列表,显示患者的 ID、名字和姓氏。使用下面的代码,它会显示每个患者的名字。如何将所有三个属性都传递到 viewbag 并让它们显示在下拉列表中?

控制器

看法

谢谢。

好的,我已按如下方式编辑了我的代码,我收到错误“没有具有键 'SelectedPatientId' 的 'IEnumerable' 类型的 ViewData 项。”

查看模型

看法

0 投票
1 回答
177 浏览

c# - C# 中有现成的 DynamicObject 吗?

我知道viewbag是即用型 DynamicObject 之一,但如果您不在视图或控制器中,除了编写您自己的以外,还有其他 Ready-to-use DynamicObject吗?

(顺便说一句,我找到了一个很棒的工具示例http://www.codeproject.com/KB/cs/dynamicincsharp.aspx

我真的很懒,只想使用一些已经制作好的DynamicObject。

0 投票
2 回答
2668 浏览

viewbag - 尝试为 ViewBag 设置值

有人能告诉我为什么这不起作用吗?

我得到错误No overload for method 'Write' takes 0 arguments。这发生在我设置 ViewBag.InvoiceTotal 的 foreach 的第一行。

0 投票
2 回答
1966 浏览

c# - 通用列表未显示在 ViewBag 中

我无法将通用列表分配给 ViewBag。这是我的代码:

当我输出 ViewBag 值时,我得到了这个:

0 投票
1 回答
1222 浏览

html - 用 HTML 填充 ViewBag

我有一个控制器,它的方法在单击表单上的按钮时被调用。它在我的 viewbag 中填充一个变量(一个包含 html 的字符串),然后我尝试在我的视图中显示它的内容。由于某种原因,viewbag 的内容不会改变。
这是我的控制器中的代码:

视图中的代码如下所示:

当系统在控制器代码中显示消息框时,它会显示正确的值。但是当视图显示时,它会显示 viewbag 数据的正确初始值,然后当我按下提交按钮时,控制器中的代码会正确执行,但 viewbag 会显示旧数据。

0 投票
1 回答
7601 浏览

asp.net - 如何在asp.net MVC3 razor View中隐藏ViewBag

我正在通过使用从某个视图(比如 mainView)渲染一个新视图,Html.ActionLink("","",new{id=packageID})
并且我的控制器操作(ActionLink 传递控制权)看起来像
public ActionResult editChecks(int packageID) {return View();}
现在在渲染视图(“editChecks”)我想隐藏 packageID 以便我可以使用它(通过传递它到另一个控制器动作)以任何方式在另一个动作上,

即我在 View("editChecks") 中使用表单,它正在向某个动作说(action2)提交数据


目前我在我的视图中使用它(“editChecks”)
并且string pid = Request.Form["packageID"];在我的控制器操作(需要 packageID)中长期运行是否正常???或者有什么我应该去的替代品吗???

0 投票
6 回答
52138 浏览

asp.net-mvc-3 - 检查 ViewBag 是否有属性,以有条件地注入 JavaScript

考虑这个简单的控制器:

现在,在我Create看来,我想检查ViewBag对象,看看它是否具有Error属性。如果它具有错误属性,我需要在页面中注入一些 JavaScript,以向我的用户显示错误消息。

我创建了一个扩展方法来检查这一点:

然后,在Create视图中,我写了这行代码:

但是,我收到此错误:

无法对空引用执行运行时绑定

任何想法?