2016-06-27 74 views
0

所以。如果我有這個在我的模型:C#MVC DateTime Picker Problems

[DataType(DataType.Date)] 
public DateTime Birthday { get; set; } 

我得到一個不錯的日期選擇器場時,我調用(不能選擇時間雖然):

@Html.EditorFor(model => model.Birthday, new { htmlAttributes = new { @class = "form-control" } }) 

但是,如果我想記錄像日期和開始時間事件的

[DataType(DataType.DateTime)] 
public DateTime Start { get; set; } 

我得到只是一個普通的文本字段。


而且,我剛纔注意到,當我想編輯現有的記錄,日期是空的,必須重新輸入即使所有其他領域是很好的填充。

回答

1

我想你也可以在HTML中指定datetime-local屬性。

@Html.TextBoxFor(model => model.Property, new { htmlAttributes = new { @class = "form-control", @type="datetime-local" } })

這是一個非常簡單和容易的方式來獲得應用程序中的日期/時間選擇器。

編輯: 要獲取日期/時間設置爲「默認」,您需要一點jQuery,因爲這是不可能通過@Value(我知道)。我使用以下設置表單上的日期/時間。

$(document).ready(function() { 
    var now = new Date(); 
    var day = (@Model.myDate.Day.ToString().Length != 2) ? "0" + @Model.myDate.Day : @Model.myDate.Day; 
    var month = (@Model.myDate.Month.ToString().Length != 2) ? "0" + @Model.myDate.Month : @Model.myDate.Month; 
    var today = @Model.myDate.Year + "-" + (month) + "-" + (day); 
    $('#IdOfDateElement').val(today); 
});