发现不明确的匹配的解决方案

衣明志 发表于 , 阅读 (16178)

将VS2003下的一个Web项目升级到VS2005后,去除明显错误后编译测试运行。某页面发现一个问题:

分析器错误

* *分析器错误 **
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。
分析器错误信息: 发现不明确的匹配。

这个问题发生原因一般情况是:

aspx页面里面的控件有与您的aspx.cs里的类变量重名(不区分大小写)的ID

那么我发现在代码中有如下的声明:

protected System.Web.UI.WebControls.Label BlogID;
protected System.Web.UI.WebControls.Label blogID; 

blogID在前台控件中不存在,仅在cs代码中声明了,因此产生了上述的问题。

由此看来虽然,C#等语言中允许我们使用大小写不同来声明不同的变量,但是我们应该尽量避免这样的情况,使用完全不同的名字区分不同的变量为好啊。

3 条评论
aspnet
aspnet 2007-01-04 00:28
就这文章还上asp.net的首页?标题写得挺好的,内容呢,分析的一点都不详细,你这种解决方案baidu一下都处是的,...
qihangnet
qihangnet 2007-01-05 05:03
TO:aspnet 我无法控制asp.net网站的聚合列表问题,所以即使我不希望在上面显示,也没有办法。
andy
andy 2010-03-29 20:57
控件名称与codebehind变量名称在忽略大小写情况下相同即会产生这样的问题