У меня есть частичное представление ASP.NET MVC, которое содержит Html.TextBox, настроенный для использования средства выбора даты из JQueryUI. Это достигается путем обеспечения стиля .datepicker. Это все работало нормально. Однако я изменил свои формы на Ajax.BeginForm и включил Ajax.ActionLink, который отображает их после нажатия на ссылку. С добавлением этого DatePicker не отображается. Фактически никакой JavaScript, который раньше работал, теперь даже не вызывается после возвращения частичного представления из контроллера. Даже если я помещаю JavaScript / JQuery в само частичное представление, он все равно не использует его. Я действительно смущен, может кто-нибудь, пожалуйста, помогите?
Примеры, показанные ниже
<div id="claims">
<div id="divViewClaims">
<% Html.RenderPartial("ViewClaim", Model.Claims ?? null); %>
</div>
<br /><br />
<div id="claim">
<% Html.RenderPartial("AddEditClaim", new Claim()); %>
</div>
</div>
Action Link, когда clickon вызывает Controller Action для возврата PartialView, JavaScript вызывает OnSuccess, но ничего больше, что ранее было подключено функцией document.ready. Все мои скрипты находятся в отдельных файлах и упоминаются на главной странице.
<%= Ajax.ActionLink(string.Format("Add A{0} Claim", Model.Count > 0 ? "nother" : string.Empty), "AddClaim", "Driver", new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "claim", OnSuccess="showAddClaim" }, new { @class = "ControlLink" })%>
Действие контроллера
public ActionResult AddClaim()
{
return PartialView("AddEditClaim", new Claim());
}
Частичное представление, в котором отображается текстовое поле со стилем, установленным на указатель даты
<% var ajaxOptions = new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divViewClaims", InsertionMode = InsertionMode.Replace, OnSuccess="hideAddClaim" }; %>
<% using (Ajax.BeginForm("AddEditClaim", "Claim", ajaxOptions, new { @name = "ClaimControl", @id = "ClaimControl" }))
{ %>
<fieldset>
<legend><%= Model.Id==0?"Add":"Edit" %> Claim</legend>
<p>
<label for="Title">Claim Date</label>
<%= Html.TextBox("Date", Model.Date.ToString().TrimEnd('0', ':', ' ') ?? "", new { @class = "datepicker" })%>
</p>
Я ценю любую помощь в этом.