【问题标题】:asp.net text returns null values when button is pressed按下按钮时,asp.net 文本返回空值
【发布时间】:2017-04-21 17:14:07
【问题描述】:

我正在尝试创建注册表单,每次单击提交按钮时,我使用的属性总是返回空值,因此一旦数据库中的数据显示为空行

按钮和格式的 HTML 代码:

    <div class="tab-2 resp-tab-content" aria-labelledby="tab_item-1">
<div class="facts">
<div class="register">
<form action="#" method="post">
 <asp:TextBox ID="txt_emailreg" runat="server" placeholder="Email Address:" type="text" required="" EnableViewState= "false"></asp:TextBox>                     
<asp:TextBox ID="txt_passwordreg" runat="server" placeholder="Password:" type="password" required="" EnableViewState= "false"></asp:TextBox>                                                 
 <asp:TextBox ID="txt_fName" runat="server" placeholder="First Name:" type="text" required="" EnableViewState= "false"></asp:TextBox>                                       
<asp:TextBox ID="txt_lName" runat="server" placeholder="Last Name:" type="text" required="" EnableViewState= "false"></asp:TextBox>                             
<asp:TextBox ID="txt_contactNumber" runat="server" placeholder="Contact Number:" type="text" required="" EnableViewState= "false"></asp:TextBox> 
<asp:RadioButton ID="rbtn_Male" Text="Male" runat="server"/>
<asp:RadioButton ID="rbtn_Female" Text="Female" runat="server"/>

<div class="sign-up">
<asp:Button ID="btn_register" runat="server" Text="Register Account" type="submit" OnClick="btn_register_Click" UseSubmitBehavior="false" data-dismiss="modal" />
<input type="submit" value="Create Account"/>
  </div>
 </form>
  </div>
   </div>
   </div> 

c#代码:

public string RegisterEmail
{
    get { return txt_emailreg.Text; }
    set { txt_emailreg.Text = value; }
}

public string RegisterPassword
{
    get { return txt_passwordreg.Text; }
    set { txt_passwordreg.Text = value; }
}

public string FirstName
{
    get { return txt_fName.Text; }
    set { txt_fName.Text = value; }
}

public string LastName
{
    get { return txt_lName.Text; }
    set { txt_lName.Text = value; }
}

public string ContactNumber
{
    get { return txt_contactNumber.Text; }
    set { txt_contactNumber.Text = value; }
}

public string Gender
{
    get
    {
        if (rbtn_Female.Checked)
        {
            return "F";
        }
        else if (rbtn_Male.Checked)
        {
            return "M";
        }

        else
        {
            return "";
        }
    }

    set
    {
        if (value == "F")
        {
            rbtn_Female.Checked = true;
            rbtn_Male.Checked = false;
        }
        else if (value == "M")
        {
            rbtn_Female.Checked = false;
            rbtn_Male.Checked = true;
        }
    }
}

 protected void btn_register_Click(object sender, EventArgs e)
    {
        try
        {
            SqlConnection connAccount = new SqlConnection(connString);
            connAccount.Open();

            string sqlInsertStatement = @"insert into accountsTB values ('" +
                                               RegisterEmail + "','" +
                                               RegisterPassword + "','" +
                                               FirstName + "','" +
                                               LastName + "','" +
                                               ContactNumber + "','" +
                                               Gender + "')";

            SqlCommand cmdTxt = new SqlCommand(sqlInsertStatement, connAccount);
            cmdTxt.ExecuteNonQuery();
            connAccount.Close();
            connAccount.Dispose();

        }

        catch (Exception ex)
        {

        }
}

【问题讨论】:

  • 在网络表单中,您可以通过点击方法访问您的控件,只需将 .Text 用于 TextBox,将 .Value 用于 RadioButton(例如,txt_emailreg.Text 用于 RegisterEmail
  • 不要忘记在按钮和表单上使用回发,否则它将消失数据。此外,作为最佳实践,在实际将记录提交到 db 之前进行验证
  • 您是否在页面加载时设置这些 tetbox 的值?
  • 我没有设置页面加载的值

标签: c# asp.net


【解决方案1】:

在您的问题中,您已经发布了按钮单击事件的代码,但从未在任何地方指定您将值分配给方法中的变量的位置,请查找如何将文本框值分配给本地变量的示例

RegisterEmail = txt_emailreg.Text;

【讨论】:

  • 对不起,我忘了包括我的属性。
  • @mffa 为什么要将它们保存为属性,因为您遇到的问题是当您在 text-box 中输入值时。只有在您进行回发时,属性才会获得该值,然后才能将值检索到属性值中。
  • 如何应用回发?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-21
  • 1970-01-01
  • 2013-02-23
  • 1970-01-01
相关资源
最近更新 更多