无法从后面的代码中看到控件的可能原因?

时间:2011-04-21 08:32:45

标签: asp.net

我正在查看一个带有<asp:Content>控件的Main.Master,以及一些ASP.NET登录内容(LoginView,LoginName等)。

我尝试添加Label,如此:

<asp:LoginName ID="LoginName1" runat="server" FormatString="Welcome {0} <br />" />
<asp:Label ID="Label1" runat="server" />

但它没有显示在代码隐藏中。

这有什么明显的原因吗?

3 个答案:

答案 0 :(得分:1)

有时,Visual Studio Designer不同步,也无法正确生成Designer代码文件。这些是我发现有用的方法:

  • 在HTML视图和设计视图之间切换。
  • 确保项目已编译。
  • 尝试删除并重新插入新控件。
  • 打开并关闭aspx文件。

当Visual Studio无法正确地向.designer.cs/vb文件添加新控件时,我还没有真正找到一个模式,但上面提到的内容的随机组合通常会有所帮助。

答案 1 :(得分:0)

检查您的Main.master.designer.cs文件中是否有这样的行(假设您使用C#)

protected global::System.Web.UI.WebControls.Label Label1;

如果不是 - 添加它。

答案 2 :(得分:0)

如果您的标签位于LoginView内,那么当LoginView是一个容器时,您需要执行LoginView1.FindControl(“Label1”)然后将其转换为Label。

VB:

Dim label1 as Label = CType(LoginView1.FindControl("Label1"),Label)

C#:

Label label1 = (Label)LoginView1.FindControl("Label1")