扩展方法调用在MVC中不起作用

时间:2014-11-19 22:25:01

标签: c# asp.net-mvc asp.net-mvc-4 extension-methods

我创建了一个扩展方法来通过MVC呈现纯HTML链接,如this question所示:

namespace MyProj
{
    public static class HtmlHelpers
    {
        public static string SectionLink(this HtmlHelper html, string URL, string display)
        {
            return String.Format("<a href=\"{0}\">{1}</a>", URL, display);
        }
    }
}

我在web.config中添加了引用,views/web.config可以在页面中引用它,并且Visual Studio不会出现任何错误:

<h1 class="site-title">@HtmlHelpers.SectionLink("https://stackoverflow.com/", "Home")</h1>

运行项目后,我收到错误消息:

Compiler Error Message: CS1501: No overload for method 'SectionLink' takes 2 arguments

我坚持这一点。 Visual Studio对引用感到满意,但似乎并不认识它是一种根据错误消息判断的扩展方法。我做错了什么?

1 个答案:

答案 0 :(得分:3)

将方法称为扩展方法:

@Html.SectionLink("abc", "xyz")