基本上我在我的MVC輸出模型中有一個自定義的「Date」類「EndDate」。 僅供參考:「Date」類構建的是DateTime,但隱藏了時間功能。我爲這個Date類型創建了一個顯示模板,它很好地格式化了日期,但是在一次實例中(如下所示),如果對象爲null(在本例中爲EndDate),我希望文本「No End Date Specified」輸出代替。是否可以在Html.DisplayFor調用中放置條件語句?
<%:Html.DisplayFor(m => m.EndDate)%>
爲Date對象的所有實例,這就是常見的,我不能改變顯示模板,我真的不希望改變模型本身無論是。基本上我想要的東西是這樣的:
<%:Html.DisplayFor((m => (m.EndDate == null) ? "No End Date Specified" : m.EndDate)%>
上述可能以任何形式?如果不是,那麼實現此功能的更好方法是什麼? 我猜即使有辦法做到這一點,如果這不是一個好主意,請讓我知道爲什麼不這樣做和更好的方式做到這一點
謝謝,我已經有了一個玩,並得到它的工作。我也看到「DisplayFor」也可以使用顯示模板名稱,所以我最終得到了以下內容,它不需要在模型中使用UIHint <%:Html.DisplayFor(m => m.EndDate ,「CustomDateNull」)%> – 2010-10-27 14:44:06
@Paul Hadfield太棒了!我沒有看到DisplayFor超載,但這似乎是最好的選擇。 – Jab 2010-10-27 15:04:47
當我遇到零贊成的接受答案時,它激起我的想法。 – jfar 2010-10-28 02:25:58