日期:2014-05-17  浏览次数:20415 次

关于在aspx文件里使用扩展方法
关于在aspx文件里使用扩展方法,代码报错:
在以下方法或属性之间的调用不明确:“XXXX.StringUtility.ClearInjection(string, bool)”和“XXXX.StringUtility.ClearInjection(string, bool)”
我这个函数并没有重载不同类型的参数,而且上面写的两个函数都是一样的参数
我在aspx页面已经声明了类库:
<%@ Import Namespace="System.Linq" %>
<%@ Import Namespace="System.Xml.Linq" %>
<%@ Import Namespace="System.Collections.Generic" %>
<%@ import namespace="XXXX" %>
使用方法也是:
<%=str.ClearInjection(false)%>
我.cs文件中,这个函数使用是没有问题的

我按照论坛中帖子(http://bbs.csdn.net/topics/320070153)的解决方法方法做的,还是不行

.net版本是4.0
希望能都得到指点.
.net?扩展方法?aspx

------解决方案--------------------
加上具体命名空间试试
<%=str.ClearInjection(false)%>

=》
<%=XXXX.StringUtility.ClearInjection(str, false)%>
------解决方案--------------------
我新建了一个页面试了下
没有任何问题,楼主肯定是两个命名冲突了
另外我aspx没有引用任何命题空间,依然可以用扩展方法的,没有任何问题
------解决方案--------------------
引用:
尽管解决了,但我仍然想知道为什么,为什么放到App_Code里面就不行呢?
求回复

你放到Web项目的App_Code代码里面和类库里面会被编译成两个不同的类,因此会产生冲突。