0

我有一个下拉列表和一个文本框,其中 TextMode 是密码。每当下拉列表索引更改时,文本框的值就会消失。任何人都有解决此问题的解决方案?太感谢了。

更新

<asp:DropDownList ID="ddlstudentstatus" runat="server" AutoPostBack="True" 
                onselectedindexchanged="ddlStudentstatus_SelectedIndexChanged">
            </asp:DropDownList>
4

3 回答 3

3

如果您想在回发时保持文本框中的文本不变,请在 page_load 中使用以下内容:

 if (IsPostBack)
    {
        if (!(String.IsNullOrEmpty(txtPassword.Text.Trim())))
        {
            txtPassword.Attributes["value"] = txtPassword.Text;
        }
    }
于 2012-12-10T05:16:53.797 回答
2

发布作为答案:

我的猜测是下拉更改导致回发。密码不会通过回发保留。

于 2012-12-10T04:10:02.600 回答
1

将下拉列表的 autopostback 值更改为 false,将阻止您的 SelectedIndexChanged 事件触发。您可以使用 javascript 或 jQuery 使用隐藏字段来存储密码文本框 onblur 的值。

$("#txtPassWord").blur(function()
    $("#hdnPassWord").val($("#txtPassWord").val());
});

然后在下拉列表的 SelectedIndexChange 事件中,您可以从 hdnPassWord 为 txtPassWord 赋值。

txtPassWord.Text = hdnPassWord.Value;

如果您没有在 SelectedIndexChanged 上发回消息,则在服务器端连接事件没有任何意义。所以要清楚,走哪条路。

于 2012-12-10T04:31:42.827 回答