gpt4 book ai didi

asp.net-mvc-4 - MVC 4 Html.EditorFor 不工作

转载 作者:行者123 更新时间:2023-12-01 02:26:26 24 4
gpt4 key购买 nike

我想使用反射显示编辑页面,遍历对象的所有属性并为每个属性创建正确的编辑控件。
我的 View 看起来足以做到这一点,我运行应用程序并且编辑控件按预期显示,但是,假设我想编辑 id=4 的对象,通常我应该在页面上使用编辑控件一次该对象对于每个属性,问题是我多次获得相同的对象,该对象在具有相同控件和属性的页面上重复多次。我在这里错过了什么吗?

...
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Test</legend>
<table>
@{
var props = Model.GetType().GetProperties();}
@foreach (var prop in props)
{
<tr>
<td><div>@Html.EditorFor(model => Model, prop.GetValue(Model, null))</div></td>
</tr>
}
</table>
</fieldset>
}
...

最佳答案

EditorFor 助手的第二个参数根本不符合您的想法。您似乎试图为其提供一个值,并期望该值将显示在生成的文本框中,但这不是此参数的用途。此参数称为 additionalViewData顾名思义,它允许您将自定义附加 View 数据传递给编辑器模板。但是,如果您没有自定义编辑器模板来处理此 View 数据,那么您就不能指望会发生这么多事情。

我建议您阅读 following blog post 更好地熟悉 ASP.NET MVC 中的模板。

但要真正回答您的问题,您似乎正在尝试编写一个自定义模板来呈现对象的每个属性。您可以编写一个自定义编辑器模板来完成这项工作。 Brad Wilson 在 following post 中阐述了这个概念(请看文章末尾的“浅潜水与深潜水”部分)。

关于asp.net-mvc-4 - MVC 4 Html.EditorFor 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15972367/

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