密码控制未发送到服务器

时间:2014-05-19 11:14:16

标签: c# webforms

我正在尝试让用户注册我的项目,我想用输入(密码)来获取用户的密码。我使用文本框作为姓名和姓氏,我可以将它们保存到数据库,但我无法获得输入(密码)输入的用户输入。这是我用来在数据库中保存用户的代码。

TermProjectEntities entity = new TermProjectEntities();

protected void Button1_Click(object sender, EventArgs e)
{
    Customer cust = new Customer
    {
        Name = txtName.Text,
        Surname = txtSurname.Text,
        Email = txtEmail.Text,
    };
 }

我可以将文本框变量用" textboxe的id.Text"但它不适用于输入(密码)。感谢您的帮助和对不起,如果这是一个简单的问题并花时间。

这是HTML:

<form id="form1" runat="server">
    <div>
        Name:&nbsp;&nbsp;&nbsp; &nbsp;
        <asp:TextBox ID="txtName" runat="server"></asp:TextBox><br /> 

        Surname:
        <asp:TextBox ID="txtSurname" runat="server"></asp:TextBox><br />

        Password:
        <input id="txtPassword" type="password" /><br />

        E-Mail:&nbsp;&nbsp;&nbsp;
        <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox><br />

        <asp:Button ID="Button1" runat="server" Text="Register" OnClick="Button1_Click" /> <br /> 
    </div>
</form>

1 个答案:

答案 0 :(得分:0)

我已将您评论中的HTML复制到问题中,以便人们更轻松地回答。但是当我在那里时,我发现问题是您的密码未设置为在服务器上运行(因此当您单击按钮时不会将其发回)。

所以你现在有这个:

<input id="txtPassword" type="password" /><br />

但它应该是这样的:

<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox><br />

所以,有两个要点:

  1. 使用asp:TextBox而非input来利用ASP .NET Framework
  2. 确保您要使用的每个控件都包含runat="server"
  3. 这是因为ASP .NET是服务器端,因此您需要先将控件恢复到服务器才能访问它们,这就是runat="server"属性实现的目标。< / p>

    然后,您可以使用TextMode="Password"等属性来控制项目的展示方式。