您好我正在尝试为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 \ Views \ Home \ 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")
我做错了什么?
答案 0 :(得分:3)
您没有从MVC指定HtmlHelper
,而是指向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);
}
}
答案 1 :(得分:1)
你可以将你的助手放在App_Code中,但是有一些限制会影响某些MVC场景(例如:无法访问标准的MVC Html。助手)