У меня есть приложение MVC с частичным представлением (см. Ниже). Когда я добавляю Html.EnableClientValidation(), мои поля исчезают после их выхода. Я не ожидаю, что кто-нибудь сможет понять это из кода, но если кто-то видел такое поведение и может указать мне в правильном направлении, я был бы признателен. Между тем, я начну перестраивать по частям и посмотреть, что я могу видеть и буду отчитываться.EnableClientValidation вызывает исчезновение полей
Спасибо!
<%= Html.ValidationSummary() %>
<% Html.EnableClientValidation(); // IMPORTANT: this line MUST be *before* Html.BeginForm() block %>
<% using (Ajax.BeginForm("Save", "Items", new AjaxOptions { HttpMethod = "post", InsertionMode = InsertionMode.Replace, UpdateTargetId = "ItemPane"})){%>
<%=Html.AntiForgeryToken()%>
<%=Html.Hidden("Item.Id", (ViewData.Model.Item != null) ? ViewData.Model.Item.Id : Guid.Empty)%>
<!--more hidden items elided-->
<table> <!--yes, I know it should be divs-->
<tr>
<td rowspan="2" width="400px">
<div class="formarea">
<fieldset>
<ol>
<li>
<label id="Item_Label"><%= (ViewData.Model != null && ViewData.Model.Item != null) ? String.Format("Item Number {0} v. {1}", ViewData.Model.Item.ItemNumber, ViewData.Model.Item.Iteration) : "New Item" %></label>
</li>
<li>
<label for="Item_Prompt" class="formLabel">Directions:</label>
<%=Html.TextAreaFor(t => t.Item.Directions, 3, 50, new { @class = "text2000", @maxlength = "2000" })%>
<%= Html.ValidationMessageFor(t => t.Item.Directions, "*")%>
</li>
<li>
<label for="Item_Prompt" class="formLabel">Prompt:</label>
<%= Html.TextBoxFor(model => model.Item.Prompt, new { @class = "text200", @maxlength = "200" })%>
<%= Html.ValidationMessageFor(model => model.Item.Prompt, "*")%>
</li>
У меня есть следующие ссылки сценария:
<%= Html.Script("~/Scripts/MicrosoftAjax.debug.js") %>
<%= Html.Script("~/Scripts/MicrosoftMvcAjax.debug.js") %>
<%= Html.Script("~/Scripts/jquery-1.4.2.min.js") %>
<%= Html.Script("~/Scripts/jquery-ui-1.8.2.custom.min.js") %>
<%= Html.Script("~/Scripts/jquery.form.js") %>
<%= Html.Script("~/Scripts/MicrosoftMvcValidation.js") %>
Примечания: Это происходит, использую ли я Html.BeginForm() или Ajax.BeginForm() – sydneyos