私はこのビューを持っています:
@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 か所に表示されます。1 つ目はフィールドのすぐ隣 (正しい) で、2 つ目はフォームの下に表示されます。
Html.ValidationSummary を使用しているかどうかを確認しましたが、使用していません。
これが起こっている理由は他にありますか?