[asp.net MVC] Display Template改變View的顯示的格式

  • 2500
  • 0
  • 2013-11-15

摘要:[asp.net MVC] Display Template改變View的顯示的格式

例如:西元年轉成民國年(功能類似的文章:Helper改變View的物件的顯示格式(非HtmlHelper)

最基本設定的方式就是在Views=>Shared=>Displaytemplates底下加入一個ooxx.cshtml, 內容類似下面這樣


@model DateTime?
@if(Model.HasValue)
{
    @Model.Value.ToShortDateString()
}

在View裡面要引用也很簡單,就像是替@Html.DisplayFor加上一個屬性的感覺:


@Html.DisplayFor(model => item.UpdDate, "DateTime")

 

補充:Displaytemplate除了設定在Shared底下可以提供整個專案使用之外,不同的controller還可以

新增自己需要的DisplayTemplate,相較於Helper只能寫在單一View或是寫在app_code/ooxx.cshtml裡面,

可以說是彈性大非常多,沒有意外的話,大概案子用displaytemplate會居多

但是displaytemplate的用途是針對@Html.DisplayFor這種針對撈出資料庫欄位並轉換格式

Helper如果真的要用大概就是非單一欄位的字串要轉換格式吧,實在想不出啥時可以用