2011-04-22 7 views
0

現在、私はドロップダウンリストと4つのボタンを含むaspxページを持っています。 ドロップダウンリストでの選択に基づいて、ボタンの組み合わせが表示されます。ドロップダウンリストに基づくボタンの表示/非表示

ユーザーが選択するときに、私はAutoPostBackとselectedChangedサーバーサイドイベントを使用して、表示するボタンを決定し、このメソッドのこれらのボタンのVisibleプロパティを設定するように実装しました。

このポストバックでは、ページ全体としての素晴らしい解決策がポストバックされているとは思えません。 JSONを使用してこれを行うことをお勧めします。

私は次の試みを試みたが、動作していないよう:

$(document).ready(function() { 
      jQuery("#<%= MyDropdownList.ClientID %>").change(function() { 
       updateAvailableButtons(jQuery(this).val()); 
     }); 

    }); 

function updateAvailableButtons(selectedItemId) { 
     jQuery("h2").html("selectedItemId:" + selectedItemId); 
     jQuery.getJSON("MyPage.aspx/GetAvailableButtons?" + Id, function (data, textStatus) { debugger; }); 
    } 

サーバー側:

protected void GetAvailableButtons(int selectedItemId) 
    { 
     //based on the id here then then I show hide certain buttons. 
     button1.Visible = true; 
     button2.Visible = false; 
     button3.Visible = false; 
     button4.Visible = false; 
    } 

これは遠く離れている場合、私はそう謝罪する前にJSONで働いたことがありません。

+0

JSONでないJSON –

+1

サーバーからjsonデータを取得した後、結果データを解析して結果をユーザーに表示する必要があります。これはデバッガ行で行う必要があります。 – VikciaR

答えて

0

JavaScriptを使用して同様のタスクを実行できます。問題は、クライアントサイドのフォームを操作できるように、asp.netボタンコントロールの代わりにhtmlコントロールを使用する必要があることです。