我有这个观点:
@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但我不是。
还有其他原因可以解决这个问题吗?