2014-04-08 83 views
0

這裏有很多關於這個問題的問題(對我來說,重複發生)的問題,但他們都沒有解決我的問題。無法在後面的代碼中引用控件。 Visual Studio 2012

問題:

無論控制我在aspx頁面添加,它不是在代碼隱藏的認可。編譯不起作用,因爲ID不被識別。

無以下的工作:

  • 清理和重建方案。
  • 關閉和打開VS
  • 刪除asp.net臨時文件
  • 檢查項目的目標框架。
  • 檢查組件都在那裏。
  • viewn檢查設計,看看是否控件實際上是存在的(它是)
  • 獲取控件的ID與JS函數來檢查它是預期的一個(它是)

的問題已經開始直到最近才。事實上,我可以參考舊的控制罰款。 使用標準的ASP控件和Telerik控件可以觀察到問題。

有誰知道別的東西我應該試試?請幫助我,我正處於一個項目的中間,這導致了不必要的延誤,ta。

+0

你refrencing你的控制權在你的ASP頁面?你給控件有效的ID。你是否在你的頁面可以引用的sytax後面應用代碼? – Jonny

+0

我經常收到這個,但在VS2010。我能夠解決這個問題的唯一方法是定期清除ReflectedSchemas目錄。我有一個bat文件,它會打開VS.對於我的VS2010的目錄,目錄位置是C:\ Users \ USER \ AppData \ Microsoft \ VisualStudio \ 10.0 \ ReflectedSchemas我認爲VS2012是11.0版本 – Mych

+0

如果您使用TFS作爲源代碼管理,請嘗試刪除「get all when solution打開「複選框。它會導致VS有時無法更新頁面的設計器文件,這會中斷控件引用。 此外,您可以嘗試使用網站類型的解決方案,以避免擁有設計器文件。 – rdmptn

回答

0

這是我如何解決我的問題。有關它的完整說明,請參閱上面的評論。

  1. 我注意到,雖然我的項目已經是Web應用程序類型,但設計器文件沒有顯示。
  2. 我已經被迫通過點擊'轉換成Web應用程序」選項

重新編譯設計文件,當時我能夠引用的控件ID。

無論如何感謝評論員。

0

確保所有的asp.net控件(在.aspx文件)有:

runat='server' 

標籤......如果沒有這個,你將無法引用控制。

例如

<asp:Label runat='server' Text='Test Label' ID='TestLabel' /> 

希望這有助於...

Rodit

+0

謝謝,但我已經做到了。我忘了將它列入我嘗試過的事物列表中。 –

+0

如果是這樣的話,我建議的唯一的事情就是試圖用IIS EXPRESS GUI來運行你的asp頁面,它是開源的和免費的(只是谷歌它)。如果這不起作用,我會建議你重新啓動項目... – rodit

0

由於我使用了預先生成的登錄頁面,因此我遇到了類似的問題。我的解決辦法是改變從這個本節:

<asp:Login runat="server" ViewStateMode="Disabled" RenderOuterTable="false"> 
<LayoutTemplate> 

要這樣:

<asp:Login ID="asplogin" runat="server" ViewStateMode="Disabled" RenderOuterTable="false"> 
<LayoutTemplate> 

基本上,我只是增加了一個ID到ASP:登錄這讓我從訪問代碼的對象後面用asplogin前綴控件名稱

asplogin.youControlNameHere

相關問題