2012-12-10 174 views
0

我有一個下拉列表和TextMode的文本框是Password。 每當下拉列表索引更改文本框的值消失。 任何人都有解決方案來解決這個問題?太多了。當Dropdownlist索引改變時文本框的值會丟失

更新

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

,你能否告訴爲DropDownList更改事件(和其他任何相關)的代碼? – rae1

+0

你可以在後面顯示你的html和代碼嗎? – phnkha

+6

我的猜測是,下拉更改導致回發。密碼不會通過回發持續。如果將文本模式更改爲文本,問題是否消失? – Scottie

回答

1

張貼作爲一個答案:

我的猜測是,下拉變化導致回發。密碼不會通過回發持續。

1

將下拉菜單中的autopostback值更改爲false將會阻止您的SelectedIndexChanged事件觸發。您可以使用javascript或jQuery來隱藏字段來存儲密碼文本框onblur的值。

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

然後在下拉的SelectedIndexChange事件,你可以從hdnPassWord值分配給txtPassWord。

txtPassWord.Text = hdnPassWord.Value; 

如果您沒有重新發布SelectedIndexChanged,那麼在服務器端沒有任何意義的連接事件。所以要清楚,走哪條路。

3

如果你想有文本框不變時postingback中的文本,使用在Page_Load中的以下內容:

if (IsPostBack) 
    { 
     if (!(String.IsNullOrEmpty(txtPassword.Text.Trim()))) 
     { 
      txtPassword.Attributes["value"] = txtPassword.Text; 
     } 
    } 
+1

+1此答案可幫助我。 –