2011-04-22 110 views
0

目前我有一個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

我認爲你的意思是jQuery不是JSON – 2011-04-22 10:39:44

+1

從服務器獲取json數據之後,必須解析結果數據並將結果顯示給用戶。您必須在調試器線上執行此操作。 – VikciaR 2011-04-22 11:20:58

回答

0

可以使用JavaScript完成類似的任務。問題是您需要使用html控件而不是asp.net按鈕控件,以便您可以操作客戶端的窗體。

相關問題