MVCコントローラーのjsonresultを介して、リスト/json/配列の日付情報をJquery UI Datepickerに動的に渡す必要があります。
以下のリンクに従って、datepicker コントロールで選択した日付を強調表示できます。 http://jquerybyexample.blogspot.com/2012/05/highlight-specific-dates-in-jquery-ui.html
< script type ="text/javascript">
$(document).ready( function () {
var SelectedDates = {};
SelectedDates[ new Date('05/28/2012' )] = new Date( '05/28/2012' );
SelectedDates[ new Date('05/29/2012' )] = new Date( '05/29/2012' );
SelectedDates[ new Date('05/30/2012' )] = new Date( '05/30/2012' );
//want to replace the above three lines with code to get dates dynamically
//from controller
$( '#releasedate' ).datepicker({
dateFormat: "mm/dd/yy" ,
numberOfMonths: 3,
duration: "fast" ,
minDate: new Date(),
maxDate: "+90" ,
beforeShowDay: function (date) {
var Highlight = SelectedDates[date];
if (Highlight) {
return [true , "Highlighted", Highlight];
}
else {
return [true , '', '' ];
}
}
});
上記のコードは、カレンダー コントロール (UIDatepicker) でこれらの特定の 3 つの日付を強調表示します。上記のように日付をハードコーディングする代わりに...私の課題は、これらの日付をコントローラーから動的に取得し、上記の javascript で変数 SelectedDates に渡すことです。
コントローラー jsonresult コード:
public JsonResult GetReleasedDates(string Genre)
{
var relDates = service.GetDates(Genre)//code to get the dates here
return Json(relDates, JsonRequestBehavior .AllowGet);
//relDates will have the dates needed to pass to the datepicker control.
}
助けてくれてありがとう。