2011-04-14 26 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