我在ascx文件中有控件,但我無法在.cs文件中的智能感知中看到它們。它之前工作的很好。代碼隱藏無法引用頁面控件
我可以在designer.cs文件中看到控件名稱。
我已刪除了應用程序數據文件夾中的Asp.net臨時文件,但仍無法在應用working.The其他用戶控制文件可以coerrectly引用它的頁面控件。這裏有什麼問題 ? 我使用VS2008。
我在ascx文件中有控件,但我無法在.cs文件中的智能感知中看到它們。它之前工作的很好。代碼隱藏無法引用頁面控件
我可以在designer.cs文件中看到控件名稱。
我已刪除了應用程序數據文件夾中的Asp.net臨時文件,但仍無法在應用working.The其他用戶控制文件可以coerrectly引用它的頁面控件。這裏有什麼問題 ? 我使用VS2008。
看看.ascx頁面的頂部行並檢查Inherits=
的值,並確保它具有適合您的代碼隱藏的正確namespace.class。例如,如果您的命名空間是ProjectNamespace
,而您的控制類是MyControl
那麼它應該是ProjectNamespace.MyControl
。如果你重命名了ascx文件等,並導致這種類型的問題,這可能會失去同步。
我檢查了它,它是正確的,但仍然無法正常工作。 – zer0w1dthspace 2009-08-03 15:38:58
我想通了這一點對我的情況:在.aspx文件的頁參數中,「的CodeFile」參數是指向文件的名稱:「LabEdit.aspx.cs」。它應該指向路徑:「〜/ WOPages/LabEdit.aspx.cs」。我知道我沒動的CodeFile或頁面文件,所以這是可能與VS2008
每次我將用戶控件從一個項目複製到另一個時,都會發生這種情況。 ascx和代碼隱藏之間的連接斷開。 該解決方案是乏味的,但它得到解決該問題:
創建一個新的用戶控件。 Visual Studio將正確地將ascx文件連接到ascx.vb文件。
將原始控件中的ascx和vb代碼複製到新控件中。
刪除您的原始控件。
您現在有一個工作控件,但它有不同的名稱。
如果保留原控件的名稱,再重複整個過程和第二控制複製到第三個使用正確的名稱是非常重要的。
寫信給微軟,並要求他們停止加入我們不需要花俏和修復基本的東西!
這麼多東西可能是錯在這裏。請發佈一些更多的細節。 – 2009-08-03 15:21:40
我遇到與.aspx文件相同的問題。 Inherits值似乎是正確的。 – dsteele 2009-08-04 00:35:26