2011-04-14 64 views
0

我在標籤標籤中輸入了runat =「server」。它仍然無法訪問。代碼視圖中無法訪問標籤

我沒有複製這個標籤從另一個webform。我注意到當從其他webforms複製標籤時,有時它們無法訪問。問題是什麼?

回答

2

檢查您的設計代碼,看看它是否在那裏。如果它不是你的標記和設計器不同步,除非你有模板控制。我最近遇到了這個問題,並通過添加一個文字控件來強化設計器以重新生成並刪除文字,從而解決了這個問題。

+0

這樣做了...... – user478636 2011-04-14 19:37:06

+1

您也可以手動將它添加到設計器中。只需檢查設計器中的代碼,你就知道該怎麼做。 – Damb 2011-04-14 19:41:45

0

從你在這裏給出的,我看到你鍵入runat =服務器沒有引號。

嘗試添加引號並再次檢查。

runat="server" 

完整的例子

<asp:label runat="server" ID="Label1" >Label1</asp:Label> 
+0

它們用引號括起來。只是我在問題中沒有提到這件事。 – user478636 2011-04-14 19:34:36

+0

好的,快速鏈接整個標籤的代碼。它必須是類似於 標籤 – Eon 2011-04-14 19:37:06

0

這是因爲你的代碼在類後面缺少對該控件的引用。你猜你沒有.designer與你的頁面類,對吧?然後你必須手動「映射」該控制

你可以定義類變量,如Label myLabel,然後在Page_Load中,你必須使用myLabel = Find('myLabelId')函數來映射該標籤。 (這可能不是100%準確的語法)。

編輯:Asuming你的標籤有ID = 「Label2的」,代碼應該是這樣的:

Label _label2; 

Page_Load( 
// some code 
_label2 = (Label)FindControl("Label2"); 
) 
+0

所以,除非我使用設計器視圖創建標籤,否則我無法在代碼視圖中訪問該lebel。我手動在aspx文件的源代碼中創建標籤 – user478636 2011-04-14 19:49:45

+0

正是如此。當你有設計師時,它會在'設計師'代碼文件中爲你自動創建參考。 – Damb 2011-04-14 19:51:30

+0

但是,當我做一個乾淨的解決方案,它從設計器代碼文件中刪除參考。這是爲什麼? – user478636 2011-04-14 19:55:21