私は、すべてのjavascript、つまりjQuery DatePickerコントロールなどを含むマスターレイアウトを持つメインビューを持っています.
このメイン ビュー内で、部分ビューを含む Ajax.BeginForm(.....) を使用します。私のコントローラーでは、検証が失敗すると、その部分的なビューが返されます。(また、Ajax の UpdateTargetId には、その部分ビューを含むセクションの ID が設定されています。)
エラーの箇条書きが正しく表示されます。しかし、その後、JavaScriptが緩んでいるように見えました。たとえば、カレンダー/日付ピッカーが機能しなくなり、通常の入力ボックスが表示されます。
その理由は何ですか?
どうもありがとう!!
コードは次のとおりです。
私のメイン ビューには 1 つの Ajax フォームが含まれています。内部には 2 つの部分的なビューがあります。2番目のものには日付ピッカー入力があります。
@using (Ajax.BeginForm("ActionXXX", "ControllerYYY", new AjaxOptions
{
HttpMethod = "POST",
UpdateTargetId = "main"
}))
{
<section id="main" class="....." data-section="....." data-step="">
@Html.Partial("ValidationSummary")
@Html.Partial("SharedPartialView", Model, new ViewDataDictionary {.....})
</section>
}
そしてJSはマスターファイルに含まれています。(メインビューにはこのためのレイアウトがあります)
<script type="text/javascript">
$('input.date').watermark('dd/mm/yyyy');
$('input.date').datepicker({
dateFormat: "dd/mm/yy",
maxDate: 0,
onClose: function () { $(this).valid(); }
});
$('input.time').watermark('hh:mm');
$('input.time').timeEntry();
</script>
コントローラーは次のとおりです。検証が失敗した場合、部分ビューを返します ("SharedPartialView")
if (Request.IsAjaxRequest())
return PartialView("SharedPartialView", ciShareModel); //model
これらの日付ピッカーと透かし jquery は、ページが最初に読み込まれたときに機能します....