请确保此代码文件中定义的类与“inherits”属性匹配
请确保此代码文件中定义的类与“inherits”属性匹配,并且该类扩展的基类(例如 Page 或 UserControl)是正确的
网上有一些解决办法如下,我遇到的情况与下列情况都不同,根据我的情况,添加了第4点:
1.可能是你对添加的页面文件进行了重命名引起的,
在你的页面文件(如Indexs.aspx)源码中找到下面这段,也就是在文件头上:
<%@ Page Language="C#" CodeFile="Indexs.aspx.cs" Inherits="Indexs" %>
确认CodeFile属性值和Inherits属性值是否都是指向你的页面类的名称。
2.情况是这样的:
在web.config文件中配置了 pageBaseType="Pozhu.CMS.Web.CMSPageBase, Pozhu.CMS",新建的aspx页面如果不含有关联的.cs文件,这个aspx页面运行是正常的,但如果关联了.cs文件就会报错“请确保此代码文件中定义的类与“inherits”属性匹配,并且该类扩展的基类(例如 Page 或 UserControl)是正确的。”;
在IIS7下测试没有报错,运行的很好,在IIS6下就会出错;
在google中搜索了一些资料,一般都是说要为cs的类加上名字空间,并且在aspx页面中的Inherits加上相应的名字空间。我照作了,可还是出错。
遇到这种情况的时候,可以修改web.config文件
去掉 pageBaseType="Pozhu.CMS.Web.CMSPageBase, Pozhu.CMS"
3.编译ASP.NET时,提示“请确保此代码文件中定义的类与“inherits”属性匹配,并且该类扩展的基类(例如Page 或UserControl)是正确的。”,1.aspx页面中的inherits的命名和aspx.cs中的代码里类名不一致(一般因为这两种页面其中有一个页面修改过,或者全部复制其他的页面代码)2.可能自己加过命名空间,去掉后编译正常,但是我希望加入命名空间,解决方式:在ASPX页面中的 inherits后加入命名空间的名称,比如原来是inherits="index",命名空间为category,现在改成 inherits="category.index"即可
4.出现这个问题的aspx页面的CodeFile="login.aspx.cs" Inherits="_login"这两个属性,有其它页面也引用了。使用查找引用,找到相关页面,或改名,或排除,权宜处理。