gpt4 book ai didi

c# - ASP.NET MVC - 从另一个@helper 调用 Razor @helper

转载 作者:可可西里 更新时间:2023-11-01 08:04:52 32 4
gpt4 key购买 nike

我一直在基于 Scott Gu's post 在 Razor 中实现一些 @helper 函数,事情进展顺利。

但我想知道的是,是否可以从另一个调用一个 @helper。例如,我有以下助手显示 DateTime? 的日期和时间:

@helper DateTimeDisplay(DateTime? date)
{
if (date.HasValue)
{
@date.Value.ToShortDateString()<br />
<text>at</text> @date.Value.ToShortTimeString()
}
else
{
<text>-</text>
}
}

这很好用,但在某些情况下我还有其他不可为 null 的字段,所以我尝试添加它以保持干燥:

@helper DateTimeDisplay(DateTime date)
{
DateTimeDisplay(new DateTime?(date));
}

这可以正常编译和运行,但是当它呈现时,它只显示为不可为 null 的 DateTime 的空字符串。下面是调用 @helper 函数的标记。 Model.UpdateDate 是一个常规的 DateTimeModel.LastRun 是一个 DateTime?

...
<tr>
<td>Last&nbsp;updated&nbsp;</td>
<td class="value-field">@Helpers.DateTimeDisplay(Model.UpdateDate)</td>
</tr>
<tr>
<td>Last&nbsp;run&nbsp;</td>
<td class="value-field">@Helpers.DateTimeDisplay(Model.LastRun)</td>
</tr>
...

有没有一种方法可以通过调用另一个函数来呈现一个 @helper 函数?

最佳答案

你需要编写@DateTimeDisplay(...)来将返回值打印到页面。

关于c# - ASP.NET MVC - 从另一个@helper 调用 Razor @helper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6060074/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com