是否可以在_ViewStart.cshtml中定义共享的@helper,以便它可以在其目录中的所有视图中使用?
答案 0 :(得分:2)
不,在_ViewStart中定义@helper将不起作用,但您可以为共享助手创建一个新的Razor视图并将其放在App_Code文件夹中。一个小缺点是必须在与视图同名的类型上调用辅助函数作为静态方法,这使得该技术更加冗长。
以下是一个例子:
视图中的Helper方法位于:〜/ 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
答案 1 :(得分:0)
您可以在单独的文件中添加帮助程序,它将可用于您的所有视图。请参阅Scoot Gu关于它的帖子:http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax-within-razor.aspx