2012-07-29 45 views
3

根据用户在几个步骤中完成的多个选择,我必须在用户的网页中生成一个表单。在asp.net中自动生成MVC3

在数据库中我有所有必要的东西(每个表单字段,名称,类型等的正则表达式验证)我想知道什么可能是使用MVC3自动生成表单的最佳方式。

我应该自动生成一个模型,将我的视图模型设置为动态,并为我的动态模型的每个属性注入一些验证属性?

我应该如何获取我的帖子操作中的值?

+0

不知道你的数据模型的细节,我会说看看显示和编辑模板将是一个很好的选择。我现在没有时间做出正确的答案,所以也许别人可以做到这一点,或者你可以自己解决它;-) – 2012-07-29 10:51:17

+0

看看这个问题/答案:http://stackoverflow.com/questions/1040509 /忠告与 - 动态表单中-ASP净MVC – 2012-07-29 10:58:58

回答

0

由于字段都是动态的(来自数据库),因此您的模型可以非常轻松地存储IEnumerable,其中Question是具有关于字段类型信息的对象。即Id,TypeId(文本,复选框,选择列表),措辞,标题,ValidationTypeId等。 然后使用传递给Question的mvchelpers来决定要输出的html。这可能包括一个验证器。 在Model.SurveyQuestions上的表单循环中,并为每一行发送Question给mvc帮助器。帮助者知道关于问题的所有信息,可以输出标签,输入框的类型和所需的验证器。

这是一个明智的方式来完成你正在尝试做的事情,因为你的输入字段是动态的。我刚刚完成了一个项目。