我编写的登录界面,一个是用来输入用户名,另一个是输入密码的,输入密码的正常,但输入用户名的textbox中的值不能获取,还有个一个注册界面也是第一个textbox空间的输入值不能获取

解决方案 »

  1.   

    <asp:TextBox id="txt" runat="server" ></asp:TextBox>.csstring name=this.txt.Text;
      

  2.   

    这是注册界面的代码,遇到的问题和登录界面一样,也是TextBox1的值不能获取,不能插入数据库,经我试验,如果页面载入时给TextBox1赋值如 TextBox1.Text=“请输入用户名”; 则用户注册时就会把“请输入用户名”作为注册名写入数据库,无论用户怎样更改TextBox1的值都不行,如果用 this.TextBox1.Text = string.Empty; 这句时就总会执行 Response.Write("<script language='javascript'>alert('信息不完全,请重新填写')</script>"); 这一句,也就是不能获取TextBox1的值,很郁闷呀,请高手指教!!!using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;public partial class forum_regist_regist : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            this.LinkButton1.Enabled = false;
            this.TextBox1.Text = string.Empty;
            this.TextBox2.Text = string.Empty;
            this.TextBox1.Focus();    }
        protected void tijiao_Click(object sender, EventArgs e)
        {
            string cnnStr = @"Data Source=.\SQLEXPRESS;Initial Catalog=forum;Integrated Security=True";
            using (SqlConnection cnn = new SqlConnection(cnnStr))
            {
                try
                {
                    if (this.TextBox2.Text == "" || this.TextBox2.Text == "")
                    {
                        Response.Write("<script language='javascript'>alert('信息不完全,请重新填写')</script>");
                        this.TextBox1.Text = string.Empty;
                        this.TextBox2.Text = string.Empty;
                        this.TextBox1.Focus();
                    }
                    else
                    {
                        cnn.Open();
                        string updatecmd = string.Format("insert into userinfo values('{0}','{1}','{2}')", this.TextBox1.Text, this.TextBox2.Text, DateTime.Now);
                        SqlCommand cmd = new SqlCommand(updatecmd, cnn);
                        cmd.CommandText = updatecmd;
                        cmd.ExecuteNonQuery();
                        Response.Write("<script language='javascript'>alert('注册成功')</script>");
                        this.LinkButton1.Enabled = true;
                    }
                    
                }
                catch (SqlException sqle)
                {
                    string Einfo = string.Format("<script language='javascript'>alert('{0}')</script>", sqle.Message);
                    Response.Write("Einfo");
                }
                finally
                {
                    cnn.Close();
                }
            }
            
            
        }
        protected void LinkButton1_Click(object sender, EventArgs e)
        {
            Response.Redirect("../forum.aspx");    }
    }
      

  3.   

    让我们老师帮我看了半天,他也弄不清这到底是怎么回事,我们老师也是一颇牛的人,最后他得出的结论是:这个很神奇。我重新建了一个登录界面还是一样的,首个textbox控件的值不能获取
      

  4.   

    protected void Page_Load(object sender, EventArgs e)
    {
    if(!Page.IsPostBack)
     {
    this.LinkButton1.Enabled = false;
    this.TextBox1.Text = string.Empty;
    this.TextBox2.Text = string.Empty;
    this.TextBox1.Focus();
    }
    }
      

  5.   

    点击的时候,页面回发,先执行的Page_Load,再才执行你的tijiao_Click事件。所以你需要加一个Page.IsPostBack来判断是否回发页面。
    PS:你老师真的很牛吗?