分析器错误信息: 发现不明确的匹配

分析器错误信息: 发现不明确的匹配。

今天又碰到这个错误了,晕啊;难到我又犯低级错误了?

项目发布了一下,运行时就出错了,错误代码如下:

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

分析器错误信息: 发现不明确的匹配。

源错误:

“/”应用程序中的服务器错误。


分析器错误

行 1:          <%@ page language="C#" autoeventwireup="true" inherits="web_GovOpen_DepartInfo, App_Web_departinfo.aspx.65a6504e" %>行 2:          行 3:          <%@ Register Src="top.ascx" TagName="top" TagPrefix="uc4" %>

源文件: /web/govopen/departinfo.aspx            行: 1

-------------

这个错误的原因我自然是很清楚,只是不知道为什么它会出这个错。

估计前一段,要新增功能,我没功夫做,让一个同事帮做了,可能是他在页面中新增的控件id与cs文件中我原有的变量名重名。查看了一下源代码,果然如此;

今天有空,解释一下这个错误的原因吧。

在ASP.net中,每个aspx页面都会有一个.cs文件,(好像不可以多个aspx共用一个cs的,我前面就碰到这个问题),在aspx页面中,我们会用到服务器控件,或html控件,这些控件的id命名时,如果与cs文件中的变量重名的话,就会出错;而且不管大小写是否一样,都会报错;

可能大家会问,C#不是区分大小写的吗?C#是区分大小写的,也正是因为如此,我们在调试时不会报错,而IIS呢,它是不区分大小写的,发布后,就报错了。

当然,如果你不想改动程序去修正这个错误的话,你也可以将整个项目的源程序复制到IIS目录下,就可以正常运行,呵呵,非常不建议这样做;

我们写在程序时,虽然C#中,变量string company与string Company会被区分成两个变量;但我们并不提倡这样做,应尽量避免,这个大家一般不会写错;主要是aspx页面中的控件id,id之间也不要用相同的字符,而且与cs文件中变量名也不要采用相同的字符,不仅是区分大小写的问题;

再有,就是,在程序中,我们写好了一类,如Deparment;而我们在aspx的页面中,放了一个控件,如gridview,其id为department或是Deparment,在cs文件中,我们照样可以Deparment.DataSource,以及Deparment.DataBind()来绑定,都不会报错的;而一旦发布后,到了IIS中,就会报错;

这些命名方法,虽然不算错误的,但要避免,不要光看调试时报不报错,关键是,项目发布后是否正常运行;我们还要考滤项目发布后的运行环境,就是在IIS下的情况。

分析器错误信息: 发现不明确的匹配

时间: 2024-10-18 21:16:25

分析器错误信息: 发现不明确的匹配的相关文章

[c#]分析器错误消息: 发现不明确的匹配。

(1)相同的变量名称 protected System.Web.UI.WebControls.Label lbltitle; protected System.Web.UI.WebControls.Label lblTitle; (2) 查找你的aspx页面里面的控件是否有和你的aspx.cs里面的类变量重名(不区分大小写)的ID 具体如下: aspx页面中<input name="username" runat="server" type="tex

分析器错误信息: 服务器标记不能包含 &lt;% ... %&gt; 构造

我的程序如下:<form runat="server"><TABLE><TR><TD>用户名:</TD><TD><INPUT type="text" size="15" name="username" runat="server" id="username"  value=<%=Request.Cooki

[c#]分析器错误消息: 发现不明白的匹配。

(1)同样的变量名称 protected System.Web.UI.WebControls.Label lbltitle; protected System.Web.UI.WebControls.Label lblTitle; (2) 查找你的aspx页面里面的控件是否有和你的aspx.cs里面的类变量重名(不区分大写和小写)的ID 详细例如以下: aspx页面中<input name="username" runat="server" type="

配置错误:未能使用提供程序“RsaProtectedConfigurationProvider”进行解密。提供程序返回错误信息为: 打不开 RSA 密钥容器。

http://www.cnblogs.com/jiaruistone/articles/1441634.html 我们如果想对web.config的数据库连接字符串进行加密的话,那么这里提供了两个方法. 方法一.     使用“DataProtectionConfigurationProvider”形式加密,创建test.aspx文件,代码如下: 需要添加引用 using System.Web.Configuration; using System.IO; //加密 protected void

反射==&gt;不明确的匹配

在反射重载方法时,如果调用此重载方法,会产生 发现不明确的匹配 的错误. 解决方案如下: GetMethod("MethodName", new Type [] { typeof(参数类型)}); 其中type数组中的项的个数是由要调用的方法的参数个数来决定的. 如果无参数,则new Type[]{},使Type数组中的项个数为0

SSIS错误信息解决1(字符串类型不匹配)

字符串类型不匹配 错误信息: [Local HR Data [2]] Error: There was an error with Local HR Data.Outputs[OLE DB Source Output].Columns[DivisionC] on Local HR Data.Outputs[OLE DB Source Output]. The column status returned was: "Text was truncated or one or more charac

DB2错误信息汇总

DB2错误信息(按sqlcode排序) sqlcode sqlstate 说明 000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 +098 01568 动态SQL语句用分号结束 +100 02000 没有找到满足SQL语句的行 +110 01561 用DATA CAPTURE定义的表的更新操作不能发送到原来的子系统 +111 01590 为2型索引设置了SUBPAGES语句 +117 01525 要

正确理解PHP的错误信息大全

编译PHP脚本时,PHP编译器会尽其所能报告它遇到的第一个问题.这样就产 生一个问题:只有当错误出现时,PHP才能将它识别出来(本文后面对此问题进行了详细描述).正是由于这个缘故,编译器指出出错的那行,从表面上看来可能 语法正确无误,或者可能是根本就不存在的一行! 更好地理解错误信息可以大大节省确定并改正错误内容所花费的时间.因此,在本文中,我将努力阐明多种不同类型的PHP报错信息,以及在开发过程中如何正确理解各种报错信息的含义. 本文中所讲述的内容与您所应用的PHP的版本无关,因为本文所描述的

PHP error_log()将错误信息写入日志文件

error_log() 是发送错误信息到某个地方的一个函数,在程序编程中比较常见,尤其是在程序调试阶段. bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] ) 把错误信息发送到 web 服务器的错误日志,或者到一个文件里. message 应该被记录的错误信息.信息长度限制:The default seem to be 1024