勤於思考:Asp.Net MVC Html.TextBoxFor日期格式化


先看例子 本來使用實體結果出來的日期 (2013/05/03 00:11:33)

但是我的本意並不是想要這樣的格式,所以在屬性后面加上ToString("yyyy-MM-dd")

結果報出 "模板只能用於字段訪問、屬性訪問、一維數組索引或單參數自定義索引器表達式。"

@Html.TextBoxFor(model => model.StartDate.ToString("yyyy-MM-dd"), new { @class = "Wdate searchText",  @readonly = "readonly", @onfocus = "WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd'})" })<span class="fRed">&nbsp;*</span>

解決方案

@Html.TextBoxFor(model => model.StartDate, new { @class = "Wdate searchText", Value = String.Format("{0:yyyy-MM-dd}", Model.StartDate), @readonly = "readonly", @onfocus = "WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd'})" })<span class="fRed">&nbsp;*</span>

 或者

@Html.TextBoxFor(model => model.EndDate, new { @class = "Wdate searchText",Value = Model.EndDate.ToString("yyyy-MM-dd"), @readonly = "readonly", @onfocus = "WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd'})" })<span class="fRed">&nbsp;*</span>

 

當然如果使用 模板注解的話也可以用另一種方式

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public System.DateTime StartDate
{
    get { return _startDate; }
    set { _startDate = value; }
}

使用的話就這樣

@Html.EditorFor(model => model.StartDate, new { @class = "Wdate searchText",  @readonly = "readonly", @onfocus = "WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd'})" })<span class="fRed">&nbsp;*</span>

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM