2016-12-30 6 views
1

Я использую Bootstrap 3 Datepicker, в частности версию No Icon (input field only).Установка Min-Date for DateTime picker

Я пытаюсь использовать функцию minDate, чтобы пользователь не смог ввести дату, которая была до даты, которую я выбираю, но я не могу понять, как установить это с помощью версии без значка , Я могу сделать это с помощью значка.

Вот что у меня есть:

HTML/Бритва


@{ 
    var firstDate = new Test.Models.MS(); 
    using (var db = new UCEntities()) 
    { 
     firstDate = db.MSies.Where(x => x.AID == Model.AId && x.deleted == false).OrderBy(x => x.Date).FirstOrDefault(); 
    } 
} 

<div class="col-md-4"> 
    <div class="input-group date date-search-box" data-mindate="@firstDate.Date"> 
     @Html.TextBox("date", null, htmlAttributes: new { id = "datetimepicker1", @class = "form-control", @placeholder = "Enter Date"}) 
     <span class="input-group-btn"> 
      <button class="btn btn-primary" type="submit">Search Date</button> 
     </span> 
    </div> 
</div> 

JQuery


$(document).ready(function() { 
    $("#datetimepicker1").datetimepicker({ 
     format: 'MM/DD/YYYY', 
     minDate: $("#datetimepicker1").data("mindate") 
    }); 
}); 

Я чувствую, что data-mindate должен быть включен в вспомогательный метод @Html.TextBox перегрузки, но как?

Также я знаю, что выполнение логики в представлении не одобряется и что я могу/должен использовать модель просмотра, но я просто хочу сначала проверить это.

Любая помощь приветствуется.

ответ

0

Ahh Я понял это. С добавлением атрибутов данных в помощники html бритвы вам нужно использовать _ вместо -.

Например:

@Html.TextBox("date", null, htmlAttributes: new { id = "datetimepicker1", @class = "form-control", @placeholder = "Enter Date",data_mindate=firstDate.Date}) 

Вместо того, чтобы:

@Html.TextBox("date", null, htmlAttributes: new { id = "datetimepicker1", @class = "form-control", @placeholder = "Enter Date",data-mindate=firstDate.Date})