【发布时间】:2014-08-17 12:34:03
【问题描述】:
我想为任何模型创建 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; }
}
我尝试构建一个独立于两个模型的创建视图,第一次尝试是遍历模型的公共属性(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>
}
结果
- 标签显示字符串“名称”(!),我想显示相应的 DisplayName 元数据
- 由于 f.Name,编辑器正在显示属性名称(attribute11、attribute 12、...)。我无法显示值...
- 我还没有检查 ValidationMessage
任何想法如何管理这个?
谢谢
【问题讨论】:
标签: c# asp.net asp.net-mvc crud