请确保此代码文件中定义的类与“inherits”属性匹配,并且该类扩展的基类(例如 Page 或 UserControl)是正确的。

在最近讲课的过成当中遇到一个问题就是在编译asp.net的时候提示错误“请确保此代码文件中定义的类与“inherits”属性匹配,并且该类扩展的基类(例如 Page 或 UserControl)是正确的。”

 

当时甚至遇到了如此神奇的错误,那就是示例网页整篇代码复制可以执行,单独复制控件则报错,错误,自然就是以上的这个错误了。

从网上找答案,大概有两种情况,我是从这里参考的

 

1.aspx页面中的inherits的命名和aspx.cs中的代码里类名不一致(一般因为这两种页面其中有一个页面修改过,或者全部复制其他的页面代码)

2.可能自己加过命名空间,去掉后编译正常,但是我希望加入命名空间,解决方式:在ASPX页面中的inherits后加入命名空间的名称,比如原来是inherits=”index”,命名空间为category,现在改成inherits=”category.index”即可

 

后来我大概是符合了第一种情况吧,准确的来讲确实是第一种情况,但这里又有一个知识点,我在这里找到了这个重点,我把它贴下来:

虽然在ASPX页面中不区分大小写,但是@page 指令中 inherits 要区分大小写的,要对应codeFile指定的aspx.cs页面中的类,大小写保持一致

 

我简单总结了下,IDE自动生成的inherits字段内容不区分大小写,因为aspx页面不区分,但是在@page指令中又是区分的,所以很多时候这个问题就被疏忽掉了。总之,无论大小写区分与否,都应该养成大小写分明的好习惯:)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.