多态MVC视图

Joh*_*ell 5 c# polymorphism asp.net-mvc asp.net-mvc-4

所以我在ASP.NET MVC中创建了一个注册页面,并且根据许多条件(从数据库中获取)改变了一个字段列表.

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

我正在考虑的当前系统是使用"Name,DataType"创建一个字典,然后只是遍历列表并为每个名称添加一个新的输入类型(使用数据类型的开关来获取正确的编辑器).但它似乎是一种老式的,并没有充分利用.NET MVC系统的好处(例如验证,默认值,特定内容的自定义编辑器).

有没有一种方法我可能不会在.NET中意识到处理这个问题?

Dis*_*ame 7

我有类似的问题.发布在这里.

不,ASP.NET MVC中没有多态视图.至少我不能让它工作做大量的实验,并在Stack Overflow上以不同的方式多次提出这个问题.

类型@model视图定义将确定其类型的视图中,而不是实际的模型的类型(如果它是接口或抽象类或基类,当你在子类中通过与您的所有美丽的装饰品,因而赢得"工作,因为类型是由模型类型定义的).

对不起,您的问题没有正面答案.我最终编写了一堆编辑器模板,这些模板只是内部的模型类型不同.巨大的DRY违规,但不幸的是,这是ASP MVC的工作方式.

希望这有助于节省您的时间.