我有这样的看法:
@Html.HiddenFor(model => model.Id)
<table>
<tr>
<td>
@Html.LabelFor(model => model.FirstName)
</td>
<td>
@Html.TextBoxFor(model => model.FirstName, new { style = "Width: 165px;", autocomplete = "off", maxlength = 100 })
@Html.RequiredHint()
@Html.ValidationMessageFor(model => model.FirstName)
</td>
</tr>
</table>
从另一个视图中调用此视图,如下所示:
<div id="newcustomer-form">
@{
var dataDictAddress = new ViewDataDictionary();
dataDictAddress.ModelState.Merge(ViewData.ModelState);
dataDictAddress.TemplateInfo.HtmlFieldPrefix = "NewCustomerDetails";
@Html.Partial("AddEditCustomerDetails", Model.NewCustomerDetails, dataDictAddress)
}
</div>
一切都正确显示。但是,当模型得到验证(缺少名字)时,错误消息会显示在 2 个位置。第一个在字段旁边(这是正确的),第二个显示在表单下方。
我已经检查过我是否在使用 Html.ValidationSummary 但我没有。
发生这种情况可能还有其他原因吗?