当我们在MVC3中使用多个模型时,如何更改textboxfor的输入名称?

时间:2012-12-14 09:20:22

标签: asp.net-mvc-3

我正在使用多个模型,因此textboxfor的输入名称因多个模型而不同,因此参数始终为null。

我解释了我的意思,如下所示:

@Html.TextBoxFor(model => model.managers.person_name)

我有两个表是“manager”和“mayor_assistance”,我把这些模型称为我的班级。此时一切都很好。但是当我使用带有TextBoxFor输入名称的这些模型时,设置为“manager.person_name”,但是我的表名为manager的表有一个person_name列,因此我的参数总是为null,因为你可以在下面看到html标签

<input id="managers_person_name" name="managers.person_name" type="text" value="">

然后我必须用“new”标签更改输入名称的tex框,我得到相同的结果

 @Html.TextBoxFor(model => model.managers.person_name,new { @name="person_name" })

那么如何更改TextBoxFor输入名称?

1 个答案:

答案 0 :(得分:0)

最后我找到了答案。我想分享一下我面临问题的解决方案。

TextBoxFor或类似EditBoxFor等。它们的名称和ID由Model上的属性设置。因为这样你得到的参数总是为空!

解决方案很简单,只需使用TextBox并将列名称作为字符串

  <div class="editor-field ">
            @Html.TextBox("person_name")
             @Html.ValidationMessage("person_position")
        </div>