6

所以我在 ASP.NET MVC 中创建了一个注册页面,并且有一个字段列表,这些字段会根据许多条件(取自数据库)而变化。

每次更新数据库时,在不更改代码的情况下在视图上显示这些字段的最佳方法被认为是什么。

我正在考虑的当前系统是用“名称,数据类型”制作一个字典,然后遍历列表并为每个名称添加一个新的输入类型(使用数据类型的开关来获得正确的编辑器)。但它似乎是过时的并且没有充分利用 .NET MVC 系统的好处(例如验证、默认值、针对特定内容的自定义编辑器)。

.NET 中是否有我可能不知道的方法来处理这个问题?

4

1 回答 1

8

我有非常相似的问题。发帖在这里

不,ASP.NET MVC 中没有多态视图。至少我无法在 Stack Overflow 上进行大量的实验并以不同的方式多次提出这个问题。

视图中定义的类型@model将在视图中定义其类型,而不是模型的实际类型(如果它是接口或抽象类或基类,而您将所有漂亮的装饰传入子类,这不会t 工作,因为类型是由模型类型定义的)。

抱歉,没有正面回答您的问题。我最终编写了一堆编辑器模板,它们仅因内部模型类型而异。巨大的 DRY 违规,但不幸的是,这是 ASP MVC 的工作方式。

希望这可以帮助您节省一些时间。

于 2012-08-28T02:03:17.743 回答