/Views/ControllerName/DisplayTemplates
/Views/Shared/DisplayTemplates
檔名需要與物件的型別相同,即若物件型別為 DateTime,則檔名需為 DateTime,或在
Model 上以 [UIHint("YourDisplayTemplatesName")] 標籤指定顯示範本的檔名
選定檢視範本的方式有三種,其順序為
1.UIHine 屬性
2.DataType 屬性
3.物件的資料型別名稱(不含命名空間)
蠻適合拿來處理西元轉民國年問題
在處理檢示範本頁面上需要注意會不會傳入的值是 null 的問題
實作方式
在 /Views/Shared/DisplayTemplates 中加入 twDateTime.cshtml
可能需要自行建立 DisplayTemplates 資料夾
這頁就是檢視範本,最後輸出什麼到 View 上就是看這頁最後會產出什麼
@model DateTime @using System.Globalization @{ TaiwanCalendar tc = new TaiwanCalendar(); } @tc.GetYear(Model)/@tc.GetMonth(Model)/@tc.GetDayOfMonth(Model)
在 Model 中加入 DTTest.cs
public class DTTest { [UIHint("twDateTime")] [DataType(DataType.DateTime)] public DateTime Dt { get; set; } }
在 Controller 中加入
public ActionResult ShowTWDt() { var DTTest = new DTTest() { Dt = DateTime.Now }; return View(DTTest); }
在 View 中加入 ShowTWDt.cshtml
@model ControllerPratice.Models.DTTest @Html.DisplayFor(model => model.Dt)
沒有留言:
張貼留言