2012-10-18 62 views
0

我被給了一個用aspx/c#編寫的webproject。當我將它加載到Visual Studio 2010中時,出現了很多錯誤,告訴我代碼隱藏文件中的某些控件在當前上下文中不存在。Codebehind文件無法識別aspx-controls

我檢查了常見的陷阱,如錯誤的代碼隱藏文件名,缺少runat-attribute,重新啓動VS,重新加載項目,但沒有什麼能解決錯誤。

我還能做些什麼來檢查問題出在哪裏?

+0

你嘗試過乾淨+構建? – Heki

+1

我甚至不能建立它,因爲這裏的錯誤 –

+1

類似的問題和可能的解決方案:http://stackoverflow.com/questions/38670/asp-net-controls-cannot-be-referenced-in-code-behind- in-visual-studio-2008 – 03Usr

回答

1

繼承標記文件的類和文件後面的代碼應匹配,並確保這些控件不是第三方,可能需要引用它們的dll或其他東西。如果這些控件是用戶控件(ascx)控件,請確保他們在頂部的寄存器行中使用正確的標記名。

+0

繼承類/名稱空間是正確的。它們都是簡單的'

+0

我的意思是,如果您有任何用戶控制註冊聲明(如標記文件頂部)<%@ Register TagPrefix =「xxx」TagName =「tagname」Src =「Controls/usercontrolnamefile.ascx」%> – Pirate

2

嘗試將代碼behinde更改爲CodeFile =「where code locate」,那麼它可能會工作。

1

這是一個非常惱人的黑客,但是如果您從aspx頁面中刪除控件然後保存頁面,那麼將控件粘貼回頁面並再次保存代碼,然後似乎認出控件。每當我更改像ID這樣的屬性時,我都會遇到這個問題。