Sna*_*ops 7 c# reflection asp.net-mvc-4
我们有一个MVC4 ASP.Net站点,我们尝试使用反射来循环模型的属性,并使用Html助手显示名称/值/和其他信息.
我们有一个自定义的Html Helper,我们从下面的方法传递参数.
@foreach (PropertyInfo prop in Model.GetType().GetProperties())
{
<div class="form-group">
Html.LabelFor( ?? Any ideas ?? )
<div class="col-sm-9">
@SuperEditorFor.ReflectiveEditorFor(prop, Model)
@Html.ValidationMessageFor(model => model.GetType().GetProperty(prop.Name))
</div>
</div>
}
Run Code Online (Sandbox Code Playgroud)
我们已经尝试过输入"属性"(引用),ValidationMessageFor但正如我们所怀疑的那样,它需要实际的具体属性,而不是反射的propertyInfo对象.
有谁知道这是否可能?有没有人试过这样做呢?
您不需要使用通用实现(EditorFor,DisplayFor...),只需使用非泛型实现Editor,Display...
这将工作得很好,你会得到验证,自动绑定和其他一切,整个九码......
@foreach (PropertyInfo prop in Model.GetType().GetProperties())
{
<div class="form-group">
@Html.Label(prop.Name)
<div class="col-sm-9">
@Html.Editor(prop.Name)
@Html.ValidationMessage(prop.Name)
</div>
</div>
}
Run Code Online (Sandbox Code Playgroud)
如果你想试验一般的实现,这里有一篇很棒的博客文章,介绍如何做到这一点
| 归档时间: |
|
| 查看次数: |
2048 次 |
| 最近记录: |