【发布时间】:2010-03-12 16:30:30
【问题描述】:
我正在开发一个基于 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
...
}
【问题讨论】:
-
你用的是MVC1,升级到2就不行了吗?
-
什么意思?我正在使用 MVC2
-
因为 MVC2 有一些有趣的选项可以帮助解决这个问题,我会看看我是否可以稍后输入答案。
标签: asp.net-mvc content-management-system factory helper