我正在使用多个模型,因此 textboxfor 的输入名称因多个模型而异,因此参数始终为 null。
我将解释我的意思,如下所示:
@Html.TextBoxFor(model => model.managers.person_name)
我有两个表,分别是"经理"和"mayor_assistance",我用我的班级称这些模型。 在这一点上一切都很好。但是当我将这些模型与 TextBoxFor 一起使用时,输入名称设置为"manager.person_name",但我的表名称为 manager 有一个person_name列,因此我的参数始终为空,如您在下面看到 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 或类似 EditBoxFor 等的东西,它们的名称和 ID 由模型上的属性设置。因此,您得到的参数始终为 Null!
解决方案非常简单,只需使用文本框并将列名称设置为字符串即可
<div class="editor-field ">
@Html.TextBox("person_name")
@Html.ValidationMessage("person_position")
</div>