我想为任何模型创建MVC通用CRUD视图...... 让我们有2个模型
public class MyObject1 {
Display(Name = "Attribute 11", ShortName = "A11")]
public String attribute11 { get; set; }
Display(Name = "Attribute 12", ShortName = "A12")]
public String attribute12 { get; set; }
}
public class MyObject2 {
Display(Name = "Attribute 21", ShortName = "A21")]
public String attribute21 { get; set; }
Display(Name = "Attribute 22", ShortName = "A22")]
public String attribute21 { get; set; }
}
我尝试构建一个独立于两个模型的Create视图,第一个尝试是迭代模型的公共属性(MyObject1或MyObject2)并尝试从中重建视图。
@model Object
@{
Type myType = Model.GetType();
System.Reflection.PropertyInfo[] myProps = myType.GetProperties();
}
@using (Html.BeginForm()) {
foreach (var f in myProps)
{
<div>
@Html.LabelFor(o => f.Name)
<div>
@Html.EditorFor(o => f.Name)
@Html.ValidationMessageFor(o => f.Name)
</div>
</div>
}
<div>
<input type="submit" value="Create"/>
</div>
}
结果
任何想法如何管理?
由于
答案 0 :(得分:0)
只需使用@Html.EditorFor(model=>model)
您的视图即可:
@model Object
@using (Html.BeginForm()) {
<div>
@Html.EditorFor(model => model)
</div>
<div>
<input type="submit" value="Create"/>
</div>
}