我一直在基於Scott Gu's post的Razor中實現一些@helper
函數,事情進展得很順利。ASP.NET MVC - 從另一個@helper調用Razor @helper
我想知道的是,如果可以從另一個@helper
打電話。例如,我有以下的助手,顯示日期和時間爲DateTime?
:
@helper DateTimeDisplay(DateTime? date)
{
if (date.HasValue)
{
@date.Value.ToShortDateString()<br />
<text>at</text> @date.Value.ToShortTimeString()
}
else
{
<text>-</text>
}
}
這工作得很好,但在某些情況下,我有其他的字段不可爲空,所以我嘗試添加這讓事情變得DRY :
@helper DateTimeDisplay(DateTime date)
{
DateTimeDisplay(new DateTime?(date));
}
這編譯並運行正常,但是當它呈現它只是顯示作爲非可空DateTime
一個空字符串。這是調用@helper
函數的標記。 Model.UpdateDate
是一個普通DateTime
和Model.LastRun
是DateTime?
...
<tr>
<td>Last updated </td>
<td class="value-field">@Helpers.DateTimeDisplay(Model.UpdateDate)</td>
</tr>
<tr>
<td>Last run </td>
<td class="value-field">@Helpers.DateTimeDisplay(Model.LastRun)</td>
</tr>
...
有沒有辦法從另一個調用它來呈現一個@helper
功能?
完全沒有得到你的觀點......你能改說你的問題嗎?茲茲 – 2011-05-19 14:31:58