C# 在另一个控件中获取一个控件

C# 在另一个控件中获取一个控件,c#,asp.net,C#,Asp.net,我为此绞尽脑汁已经有一段时间了,我已经有一段时间没有做这件事了,我知道这可能是我在过去的另一个项目中做的,我没有一个备份可以参考 我在一个页面上有一个登录视图,登录视图有两个面板,一个面板有一个登录控件(用于登录),另一个面板有一个createuserwizard(用于注册)和第二个按钮(用于单击以注册) 我试图隐藏带有登录控件的面板,并通过单击按钮来显示带有注册控件的面板,但最终得到的只是一个空引用异常 这就是我目前拥有的 protected void Register_Click(objec

我为此绞尽脑汁已经有一段时间了,我已经有一段时间没有做这件事了,我知道这可能是我在过去的另一个项目中做的,我没有一个备份可以参考

我在一个页面上有一个登录视图,登录视图有两个面板,一个面板有一个登录控件(用于登录),另一个面板有一个createuserwizard(用于注册)和第二个按钮(用于单击以注册)

我试图隐藏带有登录控件的面板,并通过单击按钮来显示带有注册控件的面板,但最终得到的只是一个空引用异常

这就是我目前拥有的

protected void Register_Click(object sender, EventArgs e)
{
    FindControl("LoginView1").FindControl("LoginPanel").Visible = false;
    FindControl("LoginView1").FindControl("RegPanel").Visible = true;
}

非常感谢您的帮助。谢谢。

我发现了问题所在,因此我将把问题留给任何可能有相同问题并偶然发现此问题的人

我非常习惯于使用母版页中的控件,但是在母版页中的页面中,您不需要第一个findcontrol,它只是:

protected void Register_Click(object sender, EventArgs e)
{
    LoginView1.FindControl("LoginPanel").Visible = false;
    LoginView1.FindControl("RegPanel").Visible = true;
}

这个答案能解决你的问题吗?它会,但我在下面的回答中使用的代码更少。我只需要它在一个页面上工作,如果我在很多页面上都需要它,那么另一个页面也会很好