跨视图共享助手

@Helpers 可以在视图之间共享。

它们应该在 App_Code 文件夹中创建

StackOverflow 文档

@helper CreatePrimaryBootstrapButton(string label)
{
    <button type="button" class="btn btn-primary">@label</button>
}

//call

@MenuHelpers.CreatePrimaryBootstrapButton("my button")

默认情况下,全局变量 @Url@Html 在 App_code 中定义的 @Helper 中不可用。你可以按如下方式添加它们(对于 App_code 文件夹中的每个 .cshtml)

@*  Make @Html and @Url available *@
@functions
{
    private new static HtmlHelper<object> Html
    {
        get { return ((WebViewPage)CurrentPage).Html; }
    }

    private static UrlHelper Url
    {
        get { return ((WebViewPage)CurrentPage).Url; }
    }
 }