Jer*_*emy 11 asp.net-mvc extension-methods asp.net-mvc-2
我创建了一个扩展方法:
namespace MyComp.Web.MVC.Html
{
public static class LinkExtensions
{
public static MvcHtmlString ActionImageLink(this HtmlHelper htmlHelper, string linkText, string imageSource, string actionName)
{
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
我从我的mvc app引用了程序集,我尝试在我的视图中导入命名空间:
<%@ Import Namespace="MyComp.Web.Mvc.Html" %>
Run Code Online (Sandbox Code Playgroud)
我还将它添加到Web配置文件中:
<pages>
<controls>
...
</controls>
<namespaces>
<add namespace="System.Web.Mvc"/>
<add namespace="System.Web.Mvc.Ajax"/>
<add namespace="System.Web.Mvc.Html"/>
<add namespace="System.Web.Routing"/>
<add namespace="System.Linq"/>
<add namespace="System.Collections.Generic"/>
<add namespace="MyComp.Web.Mvc.Html"/>
</namespaces>
</pages>
Run Code Online (Sandbox Code Playgroud)
在我的视图中,如果我尝试访问Html.ActionImageLink,则会收到一条错误消息,指出System.Web.Mvc.HtmlHelper不包含ActionImageLink的定义,该定义接受System.Web.Mvc.HtmlHelper的第一个参数类型.我没有看到System.Web.Mvc.HtmlHelper的任何ActionLink扩展方法,仅适用于System.Web.Mvc.HtmlHelper,那么它对.net框架有什么用处,而不适用于我?
Ant*_*kov 14
注意在声明和导入时命名空间的区别.
namespace MyComp.Web.MVC.Html
{
}
<%@ Import Namespace="MyComp.Web.Mvc.Html" %>
<add namespace="MyComp.Web.Mvc.Html"/>
Run Code Online (Sandbox Code Playgroud)
命名空间区分大小写!
| 归档时间: |
|
| 查看次数: |
10513 次 |
| 最近记录: |