2012-01-02 10 views
2

私はドロップダウンリストを持っていて、selectedIndexChangedというイベントがあります。ポストバックは、私がメッセージからの入力に基づいてドロップダウンリストの値を変更するたびにユーザーにメッセージを表示できるようにしたい私はポストバックかどうかを決定する。asp.net Dropdownlist条件付きポストバック

表示されているメッセージは間違いありませんか?彼が「はい」を選択した場合、私はポストバックを続けるだろう、彼がいいえと言うならば、私はポストバックを取り消し、前の値を選択したものに割り当てます。

私はポストバックが必要とされているかどうかそれは私が

おかげ

答えて

1
// get a reference to the DropDownList 
var selectlistId = '<%= ddlYourList.ClientID %>', 
    selectlist = document.getElementById(selectlistId); 

// attach to the onchange event 
selectlist.onchange = function() { 

    // decide whether to execute the __doPostBack event, which submits the 
    // form back to the server 
    if(confirm("Are you sure you want to do this?")){ 
    __doPostBack(selectlistId, ''); 
    } 
}; 
0
を推測助けることができる決定javascipt機能があればと思います、たくさん検索しましたが、これに対する解決策を見つけ出すカント

このタスクを実行するには、カスタムクライアント側のJavascriptでCustomValidatorを使用して、ポストバックを制御する必要があります。

read this article on 4Guysでは、クライアント側のバリデーターJavaScriptサンプルを使用してさまざまなバリデーターについて説明し、アイデアを得ることができます。

しかし、コアソリューションは、フォームが有効な場合にのみカスタムバリデータを使用してポストバックを制御します。

1

あなたはドロップダウンリストのポストバックをキャンセルすることができます非常に単純にちょうどこのJavascriptをページロードイベントに追加してください。

protected void Page_Load(object sender, EventArgs e) 
{ 
    DropDownList1.Attributes.Add("OnChange", "if (!confirm('Change this?')){return};"); 
}