簡體   English   中英

ASP.NET MVC - 從另一個@helper調用Razor @helper

[英]ASP.NET MVC - calling Razor @helper from another @helper

我一直在基於Scott Gu的帖子在Razor中實現一些@helper函數,事情進展順利。

我想知道的是,是否可以從另一個調用一個@helper 例如,我有以下幫助器顯示DateTime?日期和時間DateTime?

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

這工作正常,但在某些情況下我有其他不可空的字段,所以我嘗試添加這個以保持干燥:

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

這編譯並運行正常,但是當它呈現時它只顯示為非可空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(...)來將返回值打印到頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM