问题标签 [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 投票
1 回答
4691 浏览

asp.net-mvc - 带有 ViewBag 项的 MVC 3 razor TextBoxFor 会引发错误?

尝试使用从 ViewBag 收到的数据在网页上打印出几种不同的表格。

第一个语句有效,但第二个无效:

我还尝试了以下(相同的错误消息):

第一个为 PItem 创建模型,第二个在我尝试为 PItem 内的 Text 项创建文本框时引发错误。是否可以使用 textboxfor helper 从 ViewBag 而不是模型中打印数据?

0 投票
2 回答
3487 浏览

asp.net-mvc - 在母版页 Asp.net MVC 中使用 viewBag

我正在使用 asp.net MVC 开发一个网站

我想在他/她登录网站后显示用户的姓名。

问题是User.Identity.Name返回用户电子邮件,我不想更改它,因为用户名不是唯一的。我想访问其他页面中的电子邮件。

我喜欢在我的母版页中使用 viewBag,但我不知道在哪里定义它。

如果我在 中定义它Home/controller,它只适用于这个动作。

我应该使用过滤器吗?

0 投票
2 回答
34881 浏览

javascript - 从 javascript 在 ViewBag 中存储一个值

如何将值存储在从 javascript 访问的 ViewBag 中?

0 投票
1 回答
9341 浏览

asp.net-mvc - ViewBag.Title 由底层视图设置后,如何访问它?

事情就是这样。我有一个 MVC 操作,并且在该操作上,我应用了一个自定义 ActionFilterAttribute 来使反序列化工作。现在,我想做的是根据在此视图中设置的 ViewBag.Title 设置一些标题。

我尝试将 ViewResult 包装在我自己的中,并覆盖 ExecuteResult 但 ViewBag 始终为空:-(。

这是否可能,或者一旦执行 _layout,MVC 引擎是否会重置 ViewBag?

更新: 让我发布一些代码示例,以更清楚地说明我想要做什么。我有一个电子邮件服务,我从 MVC 视图呈现正文。所以我的观点是这样的:

现在我有一个控制器,它的动作看起来像这样:

我想让 Headers["subject"] 语句看起来像 Response.Headers["subject"] = ViewBag.Title; 我希望能够让 View 认为它正在处理一个普通的网页。

我尝试使用 ActionFilterAttribute 并覆盖 OnResultExecuted 但无法使其正常工作。

一种可能的选择是在布局页面上设置它,并根据某些标准实际决定使用哪种布局。这样我仍然可以让 Reponse 远离我的观点,但让它相当干净。你怎么看?

谢谢, 安泽

0 投票
2 回答
1314 浏览

asp.net-mvc-3 - 为什么通过 View() 而不是 ViewBag 传递数据上下文类?

如果我有一个带有索引页面的控制器:

使用有什么好处@model IEnumerable<Movie>?为什么我不能只ViewBag.Movies在控制器中定义并在索引页面中使用它?

0 投票
3 回答
14509 浏览

asp.net - 如何从控制器设置@Html.ActionLink 的动态标题?

我有

现在我想从 Controller 设置每个 id

例如:

0 投票
1 回答
1697 浏览

asp.net-mvc-3 - 需要在下拉列表中按字母顺序对项目进行排序

这是我需要按字母顺序排列下拉列表项目的“问题”...

这是我的看法

这是我在控制器中的viewbag ...

有任何想法吗???谢谢...

0 投票
1 回答
12216 浏览

asp.net-mvc - 如何使用 Error.cshtml 视图中的过滤器放入 ViewBag 的数据?

我有一个动作过滤器,负责将一些通用信息放入 ViewBag 中,以供共享 _Layout.cshtml 文件中的所有视图使用。

在共享的 _Layout.cshtml 文件中,我使用了已放入 ViewBag 的信息。

如果在处理控制器操作时发生异常,标准的 HandleErrorAttribute 应该显示我共享的 Error.cshtml 视图,这在我引入上面的操作过滤器并开始使用 _Layout.cshtml 中的 ViewBag 的新值之前有效。现在我得到的是标准的 ASP.Net 运行时错误页面,而不是我的自定义 Error.cshtml 视图。

我已经追踪到这样一个事实,即在呈现错误视图时,在 _Layout.cshtml 中使用 ViewBag.ProductInfo.Name 时会引发 RuntimeBinderException(“无法对空引用执行运行时绑定”)。

看来,即使我的操作过滤器在引发原始异常之前已成功设置 ViewBag 中的值,在呈现我的 Error.cshtml 视图时仍会使用具有空 ViewBag 的新上下文。

有什么方法可以让操作过滤器创建的数据可用于自定义错误视图?

0 投票
5 回答
6825 浏览

c# - 时间:2019-04-01 标签:c#mvc model vs viewbag

假设您在一个页面中有一个人员 A 的列表和一个人员 B 的列表。而这两个是 L2S 中的独立类,代表两个不同的表。因此,您不能按如下方式传递单个模型:

因此,我想,我有三个选择。

  • 第一个是将页面划分为部分视图,以便我可以通过RenderAction帮助程序传递模型。因为我只会在这个选项对我没有吸引力时才使用这些部分视图。
  • 第二种选择是使用我不想使用的 ViewBags,因为我更喜欢强类型模型。
  • 最后一个,我即将使用但在这样做之前想问的最后一个是创建一个模型,如下所示:

模型MyPage.cs

我的控制器.cs

你明白了。这是完成我的任务的有效方法,还是有更好的 c# 方法来做我想做的事?

0 投票
1 回答
604 浏览

asp.net-mvc-3 - 从自定义 VirtualPathProvider(ASHX 源)加载剃刀视图时的奇怪行为

当我通过我的自定义 VirtualPathProvider 加载数据时,我得到了一些奇怪的行为。值得一提的是,我正在尝试将此视图用作布局。

我还实现了一个自定义(虚拟)CacheDependency

现在有两件事不起作用。首先,所有加载的视图都被缓存,其次,文件内的代码(@Html.ActionLink ...等)不起作用,它只是给出一个错误“缺少程序集”。

有谁知道如何解决这两个问题?

已经有第二个问题(链接)的解决方案,但是我真的不明白如何在 FileExists 方法中解决这个问题。

谢谢!

更新:错误消息的图像 在此处输入图像描述