Razor RTM中的声明性助手方法

时间:2011-02-14 01:31:14

标签: .net asp.net razor asp.net-mvc-3

我通过his blog看到了Scott Guthrie关于辅助方法的帖子。

特别是:

我看到一堆RC版本的MVC 3帖子关于缺少帮助方法...我看到它的语法支持(@helper)突出显示,但我在/Views/Helpers/SomeHelper.cshtml中有这个(定义为部分视图):

@helper SomeHelper(string text)
{
    if (text != null)
    {
        <text>
            @text
        </text>
    }
    else
    {
        <text>
            Unknown
        </text> 
    }
}

我这样使用它:

<div>
Helper with Text:
@SomeHelper("This is not null text.")
</div>

但是我得到的SomeHelper没有被定义....所以我把它搞砸了?我有什么需要做的事情来将这些视图注册为帮助者吗?

感谢。

1 个答案:

答案 0 :(得分:12)

我通过在项目中创建App_Code文件夹,然后在该文件夹中创建Helpers.cshtml文件来完成此操作。

然后,在.cshtml视图中,使用:

@Helpers.SomeHelper("This is not null text.")

这是我发现在整个Web项目中创建共享声明性帮助器方法的唯一方法。如果还有其他人,我想听听他们的意见。