问题标签 [asp.net-mvc-2]

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

asp.net-mvc - ASP.NET MVC 和 ViewState

现在我已经看到了一些这样的问题,但这并不是我想问的,所以对于那些尖叫的重复,我道歉:)。

我几乎没有接触过 ASP.NET MVC,但据我了解,没有 ViewState/ControlState ... 很好。所以我的问题是保留控件状态的替代方法是什么?我们是否回到老式的 ASP 中,我们可以通过使用控件的状态或使用 MVC 创建隐藏的表单输入来模拟 ASP.NET ViewState/ControlState 所做的事情,我们只是假设 AJAX 始终并保留所有状态客户端并制作 AJAX来电更新?

这个问题有一些答案,Maintaining viewstate in Asp.net mvc? ,但不完全是我正在寻找的答案。

更新:感谢到目前为止的所有答案。只是为了清除我不寻找的东西和我正在寻找的东西:

不寻找:

  • 会话解决方案
  • 饼干解决方案
  • 不想在 MVC 中模仿 WebForms

我在/正在寻找什么:

  • 一种仅在数据未反弹到控件时保留回发状态的方法。将 WebForms 想象为仅在初始页面加载时绑定网格的场景,即仅在必要时重新绑定数据。正如我所提到的,我并不是想模仿 WebForms,只是想知道 MVC 提供了哪些机制。
0 投票
1 回答
10799 浏览

asp.net-mvc - 将 Html.EditorFor 与 IEnumerable 一起使用

我有一个自定义类:

我将这个类传递给我的强类型视图:

当我浏览到该页面时,我得到了错误消息:模板只能与字段和属性访问器表达式一起使用。经过一番谷歌搜索,我发现这是因为 EditorFor 和 LabelFor 函数只能接受 Model 对象的即时属性,而 FavoriteFoods[0] 不是即时属性。有没有人可以在不使用字符串指定控件名称的情况下使代码正常工作?这甚至可能吗?理想情况下,我想将模型中的表达式用于需要编辑器的项目,该编辑器自行确定输入控件的名称。

尝试了更多的事情,我能够使用以下视图更改来完成这项工作:

重要的是要注意,EditorFor 和 LabelFor 中表达式的右侧必须是您尝试填充的列表的确切名称,并且列表必须是基本类型(即 String、Int32 等)。但是,当我尝试使用复杂类型时,它仍然失败。我试图显示这个人员类的列表,其中包含每个属性的输入,并将它们全部显示给浏览器就好了,但随后它返回一个空列表到我的发布操作。如何让索引显示在列表项的输入名称中?

这对于弄清楚发生了什么是一个巨大的帮助。

0 投票
1 回答
1072 浏览

asp.net-mvc - ASP.net MVC 2 中缺少类和方法

我 2 天前下载了 asp.net mvc2 预览版。我刚开始学习MVC。我试图创建一个页面来显示 AdventureWorksLT 数据库中的产品详细信息。其中有一个图像(存储为 byte[])。在谷歌搜索了一段时间后,我得到了一些帮助和一些来自 SO 和其他网站的链接。这里有一篇关于使用辅助方法执行此操作的非常好的帖子。我从这个页面中选择了代码,但随后 VS 抱怨缺少一些方法,比如

我再次谷歌搜索并进入此页面。现在的问题是:

请帮助我找到这些方法或替代方法。

0 投票
3 回答
13799 浏览

asp.net-mvc - 在 EditorTemplate 中呈现字段名称(通过 EditorFor() 呈现)

我目前正在为 ASP.NET MVC 中的网站构建管理后端。

在 ASP.NET MVC 应用程序中,我开始使用“EditorFor”辅助方法,如下所示:

在模型中,“传记”字段已被装饰为:[UIHelper("Html")]。

我有一个“Html”部分视图(在 Views/Shared/EditorTemplates 下):

现在我想将'textarea'的'ID'属性设置为字段的名称,如下所示:

但是我看不到用当前设置的方法。

我能想到的就是创建一个包含“Value”属性和“ControlID”属性的“Html”ViewModel。

但是,如果我以此为基础而不是“System.XML.Linq.XElement”,它将不再与“EditorFor”辅助方法兼容,我必须手动完成所有操作。

有没有人遇到过类似的问题?

0 投票
1 回答
68 浏览

asp.net-mvc-2 - 如何将 mvc 对象设置为 webform 中的变量

我有一个带有打印信息链接的 MVC 应用程序。打印链接在 javascript 中。代码如下:


基本上 var myName = Model.TableName.Name; 不管用。任何解决方法?

0 投票
0 回答
2595 浏览

validation - ASP.NET MVC 2 - 实现自定义元数据和验证器提供程序

随着ASP.NET MVC 2 的预览版 2 发布,我们现在有了基类来实现我们自己的自定义提供程序,用于元数据和验证。具体来说,使用ModelMetadataProviderModelValidatorProvider

目前还没有很多关于这些的文档(昨天刚刚作为预览发布,所以我既不惊讶也不失望)。

有没有人得到这些工作中的任何一个的自定义实现?一个非常简单的示例(仅“必需”的元数据和验证器)会很棒!

也许很多人有相同的想法,但我想使用 IronRuby 来注入元数据,我正在寻找任何示例来开始。

谢谢!

编辑:听起来像布拉德威尔逊 xUnit.net成名)有一些博客文章即将发布!如果他没有在这里回答,我会在这些帖子准备好后创建一个带有链接的答案。

Edit2:CodingNDesign 的 Sankarsan Bose关于该主题的帖子。(目前的模型验证器)。包括这里以供将来参考。

0 投票
6 回答
1811 浏览

c# - 将 ASP MVC 应用程序部署到普通共享主机提供商时遇到问题

我从 fasthosts.co.uk 购买了 Windows Developer 托管包,我认为这是一个沼泽标准共享托管包。它有 ASP.NET 3.5,并且根据他们的支持,还安装了 SP1。

我已经使用 ASP MVC 2 预览版 1 开发了我的 Web 应用程序(顺便说一句,它很棒,我期待着进入预览版 2)并且它在我的开发机器上运行良好,我通过该机器安装了预览版 2安装程序包。

由于服务器没有安装 MVC,我遵循了 Phil Haacks bin 部署方法,该方法无法正常工作,因为发生了以下情况......

当我部署它并将文件复制到服务器时,我得到一个无用的“服务器错误 500 - 内部服务器错误”。所以我修改了我的 web 配置,以便 customErrors mode="Off" 没有任何区别,所以我认为正在发生的事情甚至阻止它到达 customErrors 位。

然后我继续删除一些网络配置,直到它给了我一个不错的错误消息。我发现如果从配置中取出以下位,它只会给我一条错误消息 -

  • 整个 configSections 部分
  • 整个 httpHandlers 部分
  • 整个 system.codedom 部分
  • system.webServer 部分的处理程序和 defaultDocument 部分

我正在使用 MVC 生成的标准 Web 配置,除了我自己的连接字符串之外没有任何更改 - 我为此测试取出了它。

现在我得到它给我一条错误消息,我收到“无法加载文件或程序集 System.Web.Mvc ...”消息,我被卡住了!- 有什么建议么?

编辑:

我和别人一起买了一个新的主机包,一切都很好!当我部署一个空的 MVC 应用程序时,我确信这是 Fasthosts 的错误,这要归功于 Phils 的建议,然后是一个空的普通 Web 表单应用程序——它们都给出了相同的错误。

我目前正在试图说服他们这是他们的错,但他们不断向我保证问题出在我的网络配置上。尝试取消我与他们的托管,但我显然签订了 12 个月的合同,即使我选择每月支付 - 哦,好吧。

我想不要使用 Fasthosts 将是摆脱这一点的一件事。

0 投票
2 回答
1829 浏览

asp.net-mvc - 区域中aspx文件中的href路径

我不断测试 ASP.NET MVC 2 Preview 2 的新功能,称为:“一个项目中的区域”。目前我在从 aspx 代码中链接到 css 和 js 文件时遇到问题。

当 url 指向没有 id 的 url 时,一切正常:

http://mysite.com/area/controller/action

当url包含参数时出现问题:

http://mysite.com/admin/controller/action/id

然后页面无法从 /content 和 /scripts 中找到 css 和 js 文件。

我认为问题与路由有关。我有标准的路由规则集,例如:

并在该地区的路线配置中:

aspx 文件中的示例资源 href:

任何人都可以提出解决坏资源href问题的解决方案吗?

0 投票
2 回答
554 浏览

asp.net-mvc - 无需登录 asp.net mvc 即可跟踪用户进度

我创建了一个网站,它从 XML 文件加载一个题库,并为我的用户生成随机测试以备考。有些测试需要一段时间让用户完成,他们可能无法一次完成所有测试,所以我希望人们能够稍后再回来并在多个会话中完成他们的测试。问题是,我想这样做而不需要用户通过注册/登录过程。我只想将随机练习测试的当前状态存储在某个地方,然后他们以某种方式回到它并从他们离开的地方继续。如果可以避免,其他人不能修改其他人的测试也很重要。

我目前的计划是为每个测试生成一个 GUID,将当前状态的序列化 XML 存储在数据库中,给用户一个唯一的 URL 以返回并要求用户在开始/返回测试时输入密码。一旦他们完成测试,或者经过一段时间没有任何活动,我会销毁测试以保持数据库清洁。

我是否忽略了实现目标的任何问题?在 ASP.NET MVC (2) 中,您还有什么其他方法可以完成这项任务?

0 投票
3 回答
1154 浏览

asp.net - 为什么主题不能很好地适应 MVC 范式?

我正在使用新的 ASP.NET MVC 领域并将其与主题混合。在没有区域的 MVC 中,我曾经通过添加来应用主题

到 Views 文件夹中的 Web.Config,它运行良好。现在我有一个 Areas 文件夹,每个文件夹都有自己的 Web.Config,我的主题仅适用于非区域控制器中的控制器(这很有意义)。我想更改单个 Web.Config 中的默认主题,但包含我所有文件夹的唯一主题位于根目录中,当您点击 Default.aspx 页面时会导致错误。

编辑:在 ASP.NET MVC 2 中,事实证明他们删除了网站根目录中的 Default.aspx 页面,因此您现在可以毫无问题地在根 Web.Config 中指定主题,并且它适用于以下区域由于文件夹结构。

除此之外,我也不明白“主题不一定适合 MVC 范式”。MVC 中的一个主要概念是通过抽象层分离关注点。我看不出有什么理由不能将视图抽象为两个单独的实体,即在用户界面中的给定点显示的数据以及数据样式化的主题。

我有两个问题:

  1. 是否可以为此类项目在单个 Web.Config 中指定主题?[在编辑中解决。]
  2. 为什么主题不能很好地适应 MVC 范式?