0

ドロップダウンリストがあり、TextModeがPasswordであるテキストボックスがあります。ドロップダウンリストのインデックスが変更されるたびに、テキストボックスの値が消えます。誰かがこれを修正するための解決策を持っていますか?そんなにTks。

アップデート

<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 に答える