使用viewstate在asp.net中保留密码



我有一个表单,在其中我使用名称为Password1的输入字段。回发后,我需要使用viewstate维护password中的值。我如何在ASP.NET中做到这一点。我的代码是为一个注册表单编写的,我在其中给定了一个密码字段。我为下拉列表提供了自动回发。当发生自动回发时,密码字段变为空。相反,我需要保持密码的值原样。

<div>
    <%--<asp:ScriptManager runat="server"></asp:ScriptManager>--%>
    <ajaxToolkit:ToolkitScriptManager runat="server">
       </ajaxToolkit:ToolkitScriptManager>
   <h1 style="color:bisque;text-align:center;">USER FORM REGISTRATION</h1>
    <table class="auto-style1" style="color:crimson">
        <tr>
            <td class="auto-style2">First Name</td>
            <td class="auto-style3">
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>     
             </td>
        </tr>
        <tr>
            <td class="auto-style2">Last Name</td>
            <td class="auto-style3">
                <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
         </td>
        </tr>
             <tr>
            <td class="auto-style2">Password</td>
            <td class="auto-style3">
                <input id="Password1" type="password" runat="server"/></td>
        </tr>
        <tr>
            <td class="auto-style2">Date of Birth</td>
            <td class="auto-style3">
               <asp:TextBox ID="TextBox2" runat="server"  
             ClientIDMode="Static" ReadOnly="true"></asp:TextBox>                       
                <asp:Image  ID="imgCal" DescriptionUrl="#.jpg"  
             AlternateText="" runat="server" />
                 <ajaxToolkit:CalendarExtender ID="Calend" runat="server" 
          Animated="true" PopupButtonID="imgCal" TargetControlID="TextBox2"> 
           </ajaxToolkit:CalendarExtender>
            </td>
        </tr>
            <tr>
            <td class="auto-style2">Age</td>
            <td class="auto-style3">
               <asp:TextBox ID="TextBox7" runat="server" 
              ClientIDMode="Static" ReadOnly="true"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td class="auto-style2">Gender</td>
            <td class="auto-style3">
                <asp:RadioButtonList ID="RadioButtonList1" runat="server"  
              RepeatDirection="Horizontal">
                    <asp:ListItem>Male</asp:ListItem>
                    <asp:ListItem>Female</asp:ListItem>
                </asp:RadioButtonList></td>
        </tr>
        <tr>
            <td class="auto-style2">Nationality</td>
            <td class="auto-style3">
                <asp:DropDownList ID="DropDownList1" runat="server" 
          Width="145px" AutoPostBack="true" 
        OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
                    <asp:ListItem Value="0">n1</asp:ListItem>
                    <asp:ListItem Value="1">loc2</asp:ListItem>
                    <asp:ListItem Value="2">loc3</asp:ListItem>
                    <asp:ListItem Value="3">other</asp:ListItem>
                    <asp:ListItem></asp:ListItem>
                </asp:DropDownList>
                <asp:TextBox ID="TextBox9" runat="server" Visible="false">
         </asp:TextBox>
            </td>
        </tr>
        <tr>
            <td class="auto-style2">Mobile Number</td>
            <td class="auto-style3">
                <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
            </td>
        </tr>
           <asp:UpdatePanel ID="Update1" runat="server">
         <ContentTemplate>
        <tr>

            <td class="auto-style2">Residential Adress</td>
            <td class="auto-style3">
                <textarea id="TextArea1" cols="20" name="TextArea1"  
          runat="server"></textarea></td>
        </tr>
        </ContentTemplate>
       </asp:UpdatePanel>
    </table>

</div>

默认情况下,密码文本框不会在回发时零售价值。因此,您需要以下方法来基于此链接保存价值

protected void Page_Load(object sender, EventArgs e)
{
   string pwd = txtPwd.Text;
   txtPwd.Attributes.Add("value", pwd);
}

最新更新