我一直在基于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