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

asp.net-mvc-2 - MVC2中的对象模型类型使用强类型视图页面问题

我有一个针对 MVC2 源代码运行的新转换 MVC2 项目。我在同一个解决方案上进行了两次对话。

我在网站的每个页面上都使用强类型视图,到目前为止,我没有遇到任何针对源代码运行的问题,也没有使用强类型视图进行开发。

现在在一个强类型视图上,特别是通用参数没有反映在该页面的 Model 属性中。

而不是拥有类型 TI 的模型总是有类型对象的模型。

非工作页面的代码:

视图模型:

不知道这里发生了什么。

如果我使用“添加视图”向导添加一个新视图,一切都会很好,但是这个现有的页面我总是会为我的视图模型类型获得一个对象。

我可以解决这个问题,只是想知道这里发生了什么?

幕后有缓存吗?只是好奇我错过了什么。

在这种情况下,控制器正在传递一个新的 ThingVingModel()。

0 投票
1 回答
4315 浏览

c# - asp.net-mvc-2 中的分页

一段时间以来,我一直在为 MVC1 使用来自 Martijn Boland 分页方法的优秀 IPagedList,效果很好。我刚刚尝试将它与Haacked 在 MVC2 中的默认模板视图一起使用,并发现它会导致问题。

具体来说,调用时:

从共享索引视图内部,会导致呈现分页器对象,而不是为 PagedList 集合呈现适当的 DisplayTemplate 视图。我认为这是因为将 DisplayTemplates 与模型匹配的机制正在崩溃。

有人已经找到解决方法了吗?

0 投票
2 回答
50 浏览

asp.net-mvc - MVC 2 - 预览版发布时是否应该轻松升级到 Beta 版?

当它发布时,我是否应该能够在此之上毫无问题地安装测试版?

不确定在视觉工作室环境中如何处理它。我在想它是 VS 中的一种项目,应该没问题。

谁能澄清一下?

从我从Scott Gu @曼彻斯特会议上听到的消息来看,MVC 2 看起来相当不错,等不及最终发布了 :)

0 投票
3 回答
87 浏览

asp.net-mvc - 关于项目的重大变更

就项目文件(我猜)而言,升级具有重大设计更改的项目的最佳方法是什么?我最近将我的网站从 ASP.NET 迁移到 ASP.NET MVC,很明显,更改是如此之大,以至于需要完全重写。现在我正准备将其移至 MVC 2,以利用新框架的更多功能,但我又遇到了一些障碍,这些障碍使我基本上要进行另一次完全重写。如果可能的话,我当然想避免这种情况,因为随着时间的推移,该网站已经变得非常大。但是,在上次重写期间,我确实很好地记录了设计决策,并且只需要几周时间就可以进行另一次重写。

您什么时候需要决定放弃当前的项目并将一切都升级到新技术?如果您创建一个新项目文件,处理不需要从旧项目更改的内容迁移的最佳方法是什么?

0 投票
2 回答
245 浏览

.net - ASP.NET MVC 2.0 Preview 2 中的强类型视图不再起作用

我有一个功能强大的 ASP.NET MVC 1.0 项目,具有强类型视图。它们在升级到 ASP.NET MVC 2.0 Preview 2 后不再起作用。

Model属性现在是一个Object而不是请求的类型。

我有这个:

我明白了

CS1579:foreach 语句无法对“object”类型的变量进行操作,因为“object”不包含“GetEnumerator”的公共定义

编辑有没有人知道为什么这不起作用?

0 投票
1 回答
1391 浏览

templates - 使用 EditorFor<> 渲染下拉列表

到目前为止,我们可以使用 Html.EditorFor() 为数据类型动态呈现适当的模板 - 例如字符串、int 或自定义类型,例如“地址”。

现在我想使用 EditorFor() 来呈现“父”字段。我想要一个包含每一行的下拉列表,并且用户从这个下拉列表中选择一个父级。

'Parent' 模板可以访问 'ParentID',但是行的名称和 ID 会怎样填充列表框呢?

这些应该从哪里来?

我可以将数据访问逻辑放在模板中,但这会违反关注点分离。

我可以创建一个呈现列表的 HtmlHelper,但这不会破坏关注点分离,因为 HtmlHelper 应该只做 UI 的东西,而不是数据访问?

有任何想法吗?

0 投票
5 回答
9030 浏览

asp.net-mvc - ASP.NET MVC:数据注释验证是否足够?

我在 ASP.NET MVC 2 中广泛使用 Data Annotation 验证。这个新功能节省了大量时间,因为我现在能够在一个地方定义客户端验证和服务器端验证。然而,当我做一些详细的测试时,我意识到如果我只依赖数据注释验证,那么有人很容易绕过服务器端验证。例如,如果我通过使用 [Required] 属性注释属性来定义一个必填字段,并在表单中为该必填字段放置一个文本框,用户可以简单地从 DOM 中删除该文本框(这可以通过 Firebug 轻松完成)现在,在 Controller 内部的 ModelBinding 期间,不会在该属性上触发 Data Annotation 验证。为确保触发“必需”验证,

大家对验证有什么建议?数据注释验证是否足够?或者是否需要重复验证以确保在所有情况下都会触发验证?

后续评论: 根据下面的答案,我似乎不能单独依赖模型绑定器和数据注释验证。由于我们得出的结论是需要额外的服务器端验证,我的服务层是否有一种简单的方法可以根据数据注释中定义的内容触发验证?似乎这将使我们两全其美……我们不需要重复验证代码,但即使 Model Binder 没有触发验证,我们仍将确保执行验证。

我将把这个后续评论作为一个单独的问题发布,因为它提出的问题与原来的问题不同。

0 投票
5 回答
765 浏览

asp.net-mvc - Asp.Net Mvc 2 可重复使用的部分?

我想知道,Asp.Net MVC 是否有等效的 Monorail View 组件?

我要做的是渲染一些依赖于类的复杂 UI,所以假设我们在一个列表视图中,我想将一个对象传递给这个 ViewComponent 等效项,并且它将对象作为参数并渲染复杂的我的 UI 允许我在视图中做其他事情。在 Asp.Net MVC 中做到这一点的最佳方法是什么?

由于这是一个复杂的 UI,我宁愿只编写一次,因此模板并不是我真正想要的方式,因为这意味着我将遇到可维护性问题。
我看到的一些选项(我即将开始尝试)是:

  • 未来的 Html.RenderAction
  • 子控制器

但是,我想知道在这种特定情况下是否还有其他东西,或者一个比另一个更好

0 投票
3 回答
3037 浏览

asp.net-mvc - ASP.NET MVC:如何在服务层执行数据注释验证?

在此处提出的最近一个问题中: ASP.NET MVC:数据注释验证是否足够?

...得出的结论是,依靠数据注释验证(由模型绑定器触发)不足以确保始终执行验证。我们仍然需要在服务层(或 ModelBinding 发生后的其他地方)添加相同的验证逻辑。不幸的是,我们将复制我们的验证代码(一次是使用数据注释,一次是在服务层)。服务层是否有一种简单的方法可以根据数据注释中定义的内容触发验证?如果这是可能的,那么我们将两全其美......我们不需要重复验证代码,但我们仍将确保验证始终被执行。

0 投票
3 回答
511 浏览

asp.net-mvc - asp.net mvc 2 DataAnnotations 验证

我刚刚尝试了新版本的框架(asp.net mvc 2 preview 2),其中包括集成了 jQuery 的服务器和客户端验证,看起来不错。

它在我的模型(实体)中具有属性的属性,例如 DataType。我在哪里展开以查看我有哪些选项,所以它有你想要你不想要的所有东西,比如DurationPhoneNumber :)

但我没有像Number这样的简单数据类型!

regEx 不是一个好主意,因为我想使用jQuery验证器的内置选项来获取数字