1

Jクエリコード

  $('#afterServiceSelect').die('click').live('click', function () {

  var petKeys = $('#pets input:checked').map(function () { return $(this).val(); }).get().join('+');

   $('#available-dates').load('/PetBooking/GetAvailableDatesForServce/', { 'providerKey': '<%:Model.Provider.Key%>', 'ownerKey': '<%:Model.Owner.Key%>', 'serviceId': $('#ddlService').val(), 'petKeys': petKeys, 'numberOfDays': 90 }, function () {

            });

         return false;
  });

メインページの HTML

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
   <div id="available-dates">
    </div>
</asp:Content>

コントローラ

[HttpPost]
        public ActionResult GetAvailableDatesForServce(string providerKey, string ownerKey, string serviceId, string petKeys, string numberOfDays)
        {
            var bookingFacadeService = new BookingFacadeService();

            var model = new AppointmentViewModel
                {
                    AvailableDates = bookingFacadeService.GetAvailableDates(providerKey, ownerKey, serviceId, petKeys.Split('+'), Convert.ToInt32(numberOfDays)).ToList()
                };

            return PartialView("Dates", model);
        }

日付の一部表示

    var value = dates.Any() ? dates.Select(d => d.Date.ToString("yyyy-MM-dd")).Join(",") : "";
     var monthCount = ((DateTime.Today.AddDays(90).Month - DateTime.Today.Month + 1) + 12) % 12; %>

<div id="dates" class="inline-multi-calendar" data-multi="true" data-months="<%: monthCount %>"
    data-min="<%: min %>" data-max="<%: max %>" data-disallowed="<%= string.Join(",", Model.UnavailableDates.Select(d => d.ToString("yyyy-MM-dd")).ToArray()) %>"
    data-value="<%: value %>">
</div>

UIは

ここに画像の説明を入力

問題 :上記のようにカレンダーを読み込むと、カレンダーが読み込まれません。つまり、部分的なページがカレンダーなしで読み込まれます (他のものは正しく読み込まれます)。

しかし、ajax ロード メソッドを使用せずにページ全体をロードすると、カレンダー コントロールが表示されます。

だから私の質問は、カレンダーコントロールでAjaxロードを使用する方法です(私の気持ちは、カレンダープラグインがajax呼び出しでロードされないということです.それで、ajaxロードメソッドでそれをロードするにはどうすればよいですか?)

4

0 に答える 0