2016-12-14 142 views
0

我正在嘗試製作EditorFor,它的值將會是今天的日期,但我似乎無法弄清楚它爲什麼不起作用。MVC Razor - 將EditorFor的默認值設置爲今日日期

我已經嘗試了幾件事情,但他們都沒有工作。

嘗試1:

檢視:

@Html.EditorFor(model => model.Opgevoerd, new { htmlAttributes = new { @class = "form-control", type = "DateTime", placeholder = "dd/mm/yyyy", value=DateTime.Now } }) 

嘗試2:

控制器:

Model.Opgevoerd = DateTime.Now; 

return View(Computers___tabel); 

檢視:

@Html.EditorFor(model => model.Opgevoerd,"{0:dd/mm/yyyy}", new { htmlAttributes = new { @class = "form-control", type = "DateTime", placeholder = "dd/mm/yyyy" } }) 

我不記得嘗試3 x)

我一直堅持在這一段時間,我似乎無法弄清楚。

謝謝!

+1

嘗試改變'值= DateTime.Now'到'值= DateTime.Now' –

+0

'HtmlHelper'方法綁定到你的模型。在GET方法中設置'Opgevoerd'的值並將模型返回到視圖。 - 'model.Opgevoerd = DateTime.Now;返回View(model);'不要試圖設置'value'屬性。 –

+0

感謝@BrianAlltop,但沒有奏效。 – FllnAngl

回答

0

在完全放棄剃刀之後,我決定使用javascript填充我的EditorFor的值。

做:

var today = new Date(); 
var dd = today.getDate(); 
var mm = today.getMonth() + 1; //January is 0! 
var yyyy = today.getFullYear(); 
$('#opgevoerd').val(dd + "/" + mm + "/" + yyyy); 

感謝您的幫助:)

+0

認真? '[DisplayFormat(DataFormatString =「{0:dd/MM/yyyy}」,ApplyFormatInEditMode = true)] public DateTime Opgevoerd {get;組; },在將模型傳遞給視圖和'@ Html.EditorFor(model => model.Opgevoerd,new {htmlAttributes = new {@class =「form)之前,在GET方法中將值設置爲DateTime.Today; (爲什麼當你只需要一個日期組件時設置'type =「DateTime」) –

+0

因爲在數據庫中它被設置爲日期時間(我沒有創建數據庫),所以我設置日期時間,但是我的同事只想要日期。由於我是一名實習生,所以我對asp.net相對陌生,所以我並不知道你的意思,我問我的主管,他告訴我使用javascript,因爲opgevoerd不是模型。它是模型中的一個項目。對不起,我沒有按照你的方式去做。 – FllnAngl

+0

數據庫(或模型)'DataTime'類型與HTML-5'type =「datetime」'完全無關 - 它用於生成瀏覽器HTML-5 datetimepicker(它只支持有限的瀏覽器)。你不僅需要javascript - 它愚蠢的做法(考慮當使用者輸入值時會發生什麼,但你需要返回視圖 - 輸入的用戶將會丟失)。我知道'Opgevoerd'是你模型中的一個屬性 - 如果它不是,它就不會工作:) –

相關問題