0

嗨,我正在尝试为 asp.net MVC 项目创建一个 HTML 帮助方法,但我一定做错了,因为当我尝试调用该方法时,我收到此错误:

错误 1 ​​'System.Web.Mvc.HtmlHelper' 不包含 'LabelSomething' 的定义和最佳扩展方法重载 'TestProject.Modules.Pager.LabelSomething(System.Web.WebPages.Html.HtmlHelper, string, string)'有一些无效参数 d:\Training\Practis.Internship.Workspace\Alex.Nistor\ADO.NET\TestProject\Views\Home\Index.cshtml 35 6 ADO.NET

错误 2 实例参数:无法从 'System.Web.Mvc.HtmlHelper' 转换为 'System.Web.WebPages.Html.HtmlHelper' d:\Training\Practis.Internship.Workspace\Alex.Nistor\ADO.NET\TestProject\视图\主页\Index.cshtml 35 6 ADO.NET

这是我的代码:

public static class Pager
{
    public static string LabelSomething(this HtmlHelper helper, string target , string text){
        return string.Format("<label for='{0}'>{1}</label>", target, text);
    }
}

这就是我尝试调用它的方式:

 @Html.LabelSomething("fsaf" , "ddada")

我究竟做错了什么?

4

2 回答 2

3

您没有指定HtmlHelperfrom MVC,而是当前指向将WebPages.Html您的扩展方法修改为:

public static class Pager
{
    public static string LabelSomething(this System.Web.Mvc.HtmlHelper helper, string target , string text){
        return string.Format("<label for='{0}'>{1}</label>", target, text);
    }
}
于 2013-03-04T11:45:11.360 回答
1

并且您可以将您的帮助程序放在 App_Code 中,但有某些限制会影响某些 MVC 场景(例如:无法访问标准 MVC Html.helpers)

于 2013-03-04T12:06:29.160 回答