2017-02-22 21 views
0

Я не нашел много документации о версии на стороне сервера Kendo Calendar Я хочу отключить даты, не используя какой-либо клиентский javascript из-за проблем с часовым поясом.kendo calendar disabling дат/проблем понимание документации

Что я пытался до сих пор является обязательным даты инвалидов к List<DateTime> DisabledDates:

@(Html.Kendo().Calendar() 
         .Name(calendarName) 
         .Min(calendar.MinDate.Date) 
         .Max(calendar.MaxDate.Date) 
         .Culture(new CultureInfo('de-De'))      
         .Footer(false) 
         .DisableDates(Model.DisabledDates.Select(x => x.Date.ToString("d", new CultureInfo('de-De')))       

      ) 
    } 

Опция DisableDates не работает, хотя. Я также попробовал расширение .asEnumerable().

Вот календарной строитель доку:

public CalendarBuilder DisableDates(IEnumerable<string> disableDates); 
    /// <summary> 
    /// Specifies the disabled dates in the Calendar widget using a function. 
    /// </summary> 
    /// <example> 
    /// <code lang="CS"> 
    /// &lt;%= Html.Kendo().Calendar() 
    ///    .Name("calendar") 
    ///    .DisableDates(DayofWeek.Saturday, DayOfWeek.Sunday) 
    /// %&gt; 
    /// </code> 
    /// </example> 
    public CalendarBuilder DisableDates(params DayOfWeek[] days); 
    /// <summary> 
    /// Specifies the disabled dates in the Calendar widget using a function. 
    /// </summary> 
    /// <example> 
    /// <code lang="CS"> 
    /// &lt;%= Html.Kendo().Calendar() 
    ///    .Name("calendar") 
    ///    .DisableDates("disableDates") 
    /// %&gt; 
    /// </code> 
    /// </example> 
    public CalendarBuilder DisableDates(string handler); 

К сожалению, нет explantion как IEnumerable<string> должно выглядеть. В моем случае значения будут такими, как 25.02.2017

Может anybode помочь мне здесь?

+0

Есть ли документация для первого метода в документе, в который вы вставляете документ? 2-й отключенный предоставил дни недели, а третий привязывает его к функции javascript. Btw. на стороне клиента ваш .ASP-код is't javascript в любом случае. Просто проверьте отображаемый источник страницы. –

+0

Я не нашел никакой документации для этой перегрузки –

ответ

0

Вы можете посмотреть this demo на сайте Telerik.

Вы должны сделать что-то вроде этого:

.DisableDates("disabledDates") 

<script> 
    function disabledDates(date) { 
     return Model.DisabledDates.Any(x => x.Date == date); 
    } 
</script> 

DisabledDates может принять имя булевой функции в виде строки. Я не уверен в синтаксисе, но он должен быть довольно близок.

+0

Я не вижу .DisableDates принимает любые функции bool. Он принимает IEnumerable , DayOfWeek [] или строки. Строки представляют собой функцию стороны клиента (!), Которая будет вызвана после рендеринга. –

+0

Вы правы, он может принимать имя булевой функции. Я пересмотрел свой ответ. Единственное, о чем я не уверен, это «Модель» и будет ли она доступна для этой функции. Где вы его храните? – Shai

+0

Это именно то, чего я хотел избежать: использовать функцию на стороне клиента, чтобы отключить даты, поскольку я столкнулся с проблемами DateTime vs Date, чем. Вот почему я хотел указать отключенную дату на стороне сервера. –

 Смежные вопросы

  • Нет связанных вопросов^_^