【发布时间】:2011-11-23 10:09:50
【问题描述】:
是否可以在 _ViewStart.cshtml 中定义一个共享的@helper,以便在其目录中的所有视图中都可以使用它?
【问题讨论】:
标签: asp.net-mvc helper
是否可以在 _ViewStart.cshtml 中定义一个共享的@helper,以便在其目录中的所有视图中都可以使用它?
【问题讨论】:
标签: asp.net-mvc helper
不,在 _ViewStart 中定义 @helper 将不起作用,但您可以为共享助手创建一个新的 Razor 视图并将其放置在 App_Code 文件夹中。一个小缺点是必须在与视图同名的类型上将助手作为静态方法调用,这使得该技术更加冗长。
这是一个例子:
Helper Method in View 位于此处:~/App_Code/RazorHelpers.cshtml:
@helper LiLink(string url, string title)
{
<li><a href="@url">@title</a></li>
}
视图中的助手用法:
@RazorHelpers.LiLink("/about","About")
查看这个 SO 问题:Razor Helper In App Code Folder
【讨论】:
您可以将帮助程序添加到单独的文件中,它将可用于您的所有视图。请参阅 Scoot Gu 的帖子:http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax-within-razor.aspx
【讨论】: