VS2010 C# ASP.NET aspx.cs中当前上下文不存在已经在aspx中定义的控件ID;

Login.aspx 中
<asp:TextBox ID="UserName" runat="server" CssClass="textEntry"></asp:TextBox>
Login.aspx.cs 中
protected void Page_Load(object sender, EventArgs e)
{
string str2 = UserName.Text;
RegisterHyperLink.NavigateUrl = "Register.aspx?ReturnUrl=" + HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"]);
}
提示次上下文中不存在UserName

一:试一下重新生成一下解决方案
二:可能控件写在了GridView之类的控件里面了

我觉得第二种的可能性大一点,如果无效的话,你还是贴出完整的代码好一点,这样我才知道什么问题追问

谢谢了,由VS2010自动生成的网站就有这个问题

追答

TextBox txtUserName = LoginUser.FindControl("UserName") as TextBox;//获取登陆控件中用户名控件,嗯,没错是第二种情况,你写在登陆控件里面,直接拿是拿不到的。

温馨提示:答案为网友推荐,仅供参考
相似回答