gpt4 book ai didi

c# - 在反射中循环遍历模型属性,然后使用 Html 帮助程序进行显示。如何取回具体属性(property)?

转载 作者:太空狗 更新时间:2023-10-29 20:20:41 24 4
gpt4 key购买 nike

我们有一个 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>
}

我们已经尝试像在 ValidationMessageFor 中一样放入“属性”(引用),但正如我们所怀疑的那样,它需要实际的具体属性,而不是反射 propertyInfo 对象。

有人知道这是否可行吗?以前有人试过这样做吗?

最佳答案

您不需要为此使用通用实现(EditorForDisplayFor...),只需使用非通用实现,Editor, 显示...

这会工作得很好,你会得到验证、自动绑定(bind)和其他一切,整个九码......

@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>
}

如果你想尝试通用实现,这里有一篇关于如何做的很棒的博客文章

http://www.joelscode.com/use-mvc-templates-with-dynamic-generated-types-with-custom-htmlhelper-extensions/

关于c# - 在反射中循环遍历模型属性,然后使用 Html 帮助程序进行显示。如何取回具体属性(property)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19915587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com