我正在研究一个基于 ASP.NET MVC 的 CMS,它提出了一个相当极端的情况。系统必须允许用户根据不同的字段添加自定义内容类型,并且对于每个字段,都可以添加选项和验证。问题是一切都存储在一个复杂的数据库中,并在运行时使用 LINQ 提取。
我对 ASP>NET MVC 很陌生,所以我想到了以下困境我应该如何制作内容创建视图,以便表单助手不在视图代码中预定义,而是根据字段的类型加载?我是否必须创建一个工厂类来检查字段的类型属性的值,然后根据它返回一个帮助器,或者有更好的方法来做到这一点。这对我来说似乎很死板,因为每当我在 Fieldtypes 表中进行更改时,我都必须确保也为该新类型创建一个检查。
public class CType {
string Name; //e.g Post Article etc
List<ContentData> data ;
...
}
public class ContentData {
string Data; // Basically this is the data stored for each field
FieldInstance fieldInstance;
...
}
public class FieldInstance {
string Title; // e.g Title Body etc.
FieldType Type ; // e.g textbox textarea image checkbox etc
...
}
public class FieldType {
string Type; // e.g textbox textarea image checkbox etc
...
}