請確保此代碼檔中定義的類與「inherits」屬性匹配,並且該類擴展的基類(例如 Page 或 UserControl)是正確的。

在最近講課的過成當中遇到一個問題就是在編譯asp.net的時候提示錯誤“請確保此代碼文件中定義的類與“inherits”屬性匹配,並且該類擴展的基類(例如 Page 或 UserControl)是正確的。“

 

當時甚至遇到瞭如此神奇的錯誤,那就是示例網頁整篇代碼複製可以執行,單獨複製控件則報錯,錯誤,自然就是以上的這個錯誤了。

從網上找答案,大概有兩種情況,我是從這裡參考的

 

1.aspx頁面中的inherits的命名和aspx.cs中的代碼裡類名不一致(一般因為這兩種頁面其中有一個頁面修改過,或者全部複製其他的頁面代碼)

2.可能自己加過命名空間,去掉後編譯正常,但是我希望加入命名空間,解決方式:在ASPX頁面中的inherits後加入命名空間的名稱,比如原來是inherits=”指數”,命名空間為category,現在改成inherits=”category.index”即可

 

後來我大概是符合了第一種情況吧,準確的來講確實是第一種情況,但這裡又有一個知識點,我在這裡找到了這個重點,我把它貼下來:

雖然在ASPX頁面中不區分大小寫,但是@page 指令中 inherits 要區分大小寫的,要對應codeFile指定的aspx.cs頁面中的類,大小寫保持一致

 

我簡單總結了下,IDE自動生成的inherits字段內容不區分大小寫,因為aspx頁面不區分,但是在@page指令中又是區分的,所以很多時候這個問題就被疏忽掉了。總之,無論大小寫區分與否,都應該養成大小寫分明的好習慣:)

本文由 落格博客 原創撰寫:落格博客 » 請確保此代碼檔中定義的類與「inherits」屬性匹配,並且該類擴展的基類(例如 Page 或 UserControl)是正確的。

轉載請保留出處和原文鏈接:https://www.logcg.com/archives/291.html

關於作者

R0uter

如非聲明,本人所著文章均為原創手打,轉載請註明本頁面鏈接和我的名字。

發表評論

您的電子郵件地址不會被公開. 必填字段標 *