问题标签 [viewdata]

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 投票
3 回答
825 浏览

asp.net - 等效于来自 ASP.NET MVC for ASP.NET 的 ViewData?

ASP.NET MVC for ASP.NET 中的 ViewData/TempData 对象是否有等效项?

我想做的是让一个 Session 项目只在一个请求中存活。

提前致谢!

编辑:

问题是我有一个更新和创建的视图。当视图处于更新模式时,会话项被填充或者它必须已经被填充(!)并且在创建模式下会话项为空。因此,当我处于创建模式并将页面发送回服务模式时,模式更改为编辑模式,并且视图上的一个按钮已启用,因为会话项目已被填充。模式取决于会话项目。并且会话项可以由另一个视图或我成功创建联系人时填充。会话项值是contactId。

0 投票
3 回答
138 浏览

asp.net-mvc - 为什么我不能在强类型页面中调用 Model 和 ViewData 以及 Html?

我创建了一个新的强类型视图,如下所示:

但是当我调用Mode,Html,Viewdata时,没有智能提示。我想不通,请告诉我该怎么做?

0 投票
2 回答
8253 浏览

asp.net-mvc - 如何将 ViewData 传递给 HandleError 视图?

在我的 Site.Master 文件中,我有 3 个简单的 ViewData 参数(整个解决方案中只有 3 个)。这些 ViewData 值对于我的应用程序中的每个页面都至关重要。由于在我的 Site.Master 中使用了这些值,因此我创建了一个抽象的 SiteController 类,它覆盖 OnActionExecuting 方法来为我的解决方案中每个控制器上的每个 Action 方法填充这些值。

我面临的问题是,当 HandleErrorAttribute 从 SiteController 类级别属性启动时,这些值没有传递给 MyErrorView(最终是 Site.Master)。这是一个简单的场景来显示我的问题:

我也尝试通过覆盖 SiteController 中的 OnException() 方法来填充 ViewData 参数,但无济于事。:(

在这种情况下,将 ViewData 参数传递给我的 Site.Master 的最佳方法是什么?

0 投票
2 回答
574 浏览

c# - 如何从基本控制器填充强类型视图数据?

我所有的控制器都基于 BaseController,在它们之间共享属性并覆盖 OnActionExecuting 以根据路由设置一些值。

我正在创建一个 BaseViewData 类来对我的所有视图数据执行相同的操作。

目前我正在填充视图数据,如下所示(C#):

我在需要视图数据的每个操作中都这样做。一些属性是通用的,需要在每个动作中设置。有没有办法在更全局的范围内设置一些属性?

如果我在 BaseController 上的 OnActionExecuting 方法中实例化 BaseViewData 类,如何从常规控制器(从 BaseController 派生)中的操作访问 BaseViewData 属性?

响应丹尼斯·帕尔默的更新:

我之所以这样做,是因为我在某些请求上没有随机填充 ViewData["lang"] 时遇到的一个烦人的问题。如果语言是英语,则 ViewData["lang"] 包含“en”,如果是日语,则包含“ja”(好吧,无论如何都应该如此)。我在 BaseController 上的 OnActionExecuting 中填充 ViewData["lang"]。

在我看来,我根据语言调用了一些部分视图:

但是我随机收到“找不到/SiteMenu”状态的错误,这表明 ViewData["lang"] 没有价值。我只是找不到 ViewData["lang"] 不会被填充的任何原因。因此,我正在重写站点以仅使用强类型视图数据(并设置一些硬默认值)。但如果另一种方法更好,我会走那条路。

谢谢!

0 投票
3 回答
304 浏览

c# - 将 BaseViewData 类作为 BaseController 类的属性是个坏主意吗?

我项目中的每个控制器类都派生自一个基本控制器类,恰当地命名为 BaseController。

所有视图数据都包含在一个名为 BaseViewData 的类中(将来可能成为更具体的视图数据类的基本控制器)。

我在 BaseController 上创建了一个 BaseViewData 属性,因为每个控制器都需要访问强类型基本视图数据中的数据(并且 BaseController 做了一些工作来预填充一些 BaseViewData 属性)。

我这样做是因为:

  1. 如果我改变了一个属性,我会得到编译时错误检查,以更快地解决损坏的代码。

  2. 通过练习 DRY,我设法整合了以前分散在每个控制器中的大量代码。

然而,这是我第一次尝试这样做。所以我可能会忽略一个准备抬起丑陋脑袋的问题。所以:

将 BaseViewData 类作为 BaseController 类的属性是个坏主意吗?如果是这样,为什么?

更新1:

我的 BaseController 看起来像(还有更多,但这应该明白这一点):

我的 BaseViewData 看起来像这样(同样,还有更多......):

0 投票
3 回答
764 浏览

c# - 将值传递给 mvc 视图中的下拉列表

我是 MVC 编程的新手。我正在将其他数据库表中的值传递给我的编辑并创建视图以填充一些下拉列表。它工作得很好。我的控制器中有这样的代码用于编辑和创建:

我想将 select 语句移动到 Respository 以使事情变得更简洁,这样我就不会在 Edit 和 Create 中重复相同的选择。

在 中Repository,返回类型应该GetCustomersSelectListItem?我似乎无法让它工作。

0 投票
4 回答
29451 浏览

c# - Argh! Why does System.Web.Mvc.HandleErrorInfo get passed to my views?

I'm experiencing a rather frustrating problem. My MVC site runs fine for the most part, but randomly throws an error (which shows a friendly error to the user). When I check the logs, this is what I get:

Moments later, the same user could hit refresh and the page loads fine. I'm stuck. ;(

Update: added stack trace

0 投票
1 回答
988 浏览

asp.net-mvc - 从 AuthorizeAttribute Extension 添加到 ViewData[] 集合

我编写了一个扩展类来为我的操作方法自定义我的 AuthorizeAttribute,并且我希望能够在满足特定条件时将消息注入到我的视图中。当用户未获得授权但未将我的消息添加到我的 ViewData 集合时,我正在使用以下代码加载共享视图。有什么想法吗?

我还尝试在调用上方设置我的 ViewData["Message"] 集合项以更改视图但没有成功。

0 投票
1 回答
617 浏览

asp.net - 结合 ViewModel (WPF/Silverlight) 和强类型 ViewData (ASp.NET MVC)?

注意:在下文中,我将对 WPF/Silverlight 中的 ViewModel 和 ASP.Net MVC 中的强类型 ViewData 使用术语“ViewModel”。

我想为同一个项目创建 ASP.Net MVC 和 WPF/Silverlight 客户端(换句话说,针对同一个 DataModel),我应该为每个客户端技术创建一个通用 ViewModel 项目还是一个单独的 ViewModel?

我想相信一个通用的 ViewModel 是正确的做法,但是创建依赖属性或 JSON 字符串的需要使它看起来不兼容。

也许另一种解决方案是将 ViewModel 的公共部分放入 DataModel 层?

我将不胜感激任何可以使我朝着正确方向前进的帮助,谢谢

0 投票
3 回答
3455 浏览

asp.net-mvc - asp.net mvc 下拉列表没有 ViewData 项

我开始研究mvc,尝试添加下拉列表,构建

但它显示错误

没有具有键“ddl”的“IEnumerable”类型的 ViewData 项

为什么?我使用简单的代码,只传递名称参数,为什么会出错?