具有用户定义(数据驱动)表单定义的MVC

时间:2012-12-16 17:23:19

标签: asp.net .net asp.net-mvc

作为一个例子,formstack.com和wufoo.com等 - 为了在ASP.Net MVC中实现数据驱动的表单定义框架,我假设你最终抛出了许多内置功能(模型绑定,基于属性的验证等)并用数据驱动的等价物替换它们。

我很好奇是否有以这种数据驱动方式使用MVC的最佳实践,以及某些代码或框架可以帮助这种类型的应用程序?

1 个答案:

答案 0 :(得分:0)

我在ASP.NET MVC中看到的钩子是Html.EditorFor。您可以让模型指定将呈现数据的视图。

@model IEnumerable<ParentClass>

@for (int i = 1; i <= Model.length; i++)
{
    Html.EditorFor(Model(i),Model(i).ViewName)
}

View1.cshtml

@model ChildClass
@Model.FieldName: <input id="@Html.IdFor(model=>model)" type="text" name="@Model.FieldName"><br>

View2.cshtml

@model ChildClass
@Model.FieldName: <input id="@Html.IdFor(model=>model)" type="password" name="@Model.FieldName"><br>

然后在数据中指定View1或View2。

注意:我使用for循环而不是foreach的原因是MVC需要索引才能在编辑器中获取id。