Asp.net从aspx中的Textbox获取价值以代码落后

我正在用asp.net和C#编程语言创建一个登录系统。 完成处理用户和密码的代码。 但在视图层,我很难从用户名文本框和密码文本框中获取值并将其传递给代码隐藏。

两个文本框都是ID标识,在我的一些编程技巧中,ID应该足以访问元素。

这是我的aspx登录页面:

  

Log in Form
  1. User name
  2. Password
  3. Remember me?

我确实从UserName和Password Textbox获取了值:

  1. 使用代码:

     string user = this.UserName.Text; string pass = this.Password.Text; 
  2. 使用代码:

     Textbox UserName = this.FindControl("UserName"); 
  3. 删除了aspx.design.cs并右键单击表单并将其转换为应用程序;

  4. 在设计器中,添加以下代码行:

     protected global::System.Web.UI.WebControls.TextBox UserName; protected global::System.Web.UI.WebControls.TextBox Password; 

到目前为止没有任何工作,当我达到这条线时:

 string user = this.UserName.Text; 

它抛出了一个错误:

Object Reference未设置对象的实例。

你能建议解决我的问题吗?

这是因为这些控件是模板的一部分。 它们不直接在页面上,在初始化Login控件时动态添加它们。 要访问它们,您需要FindControl

 string user = ((TextBox)Login1.FindControl("UserName")).Text;