2011-04-22 63 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按钮控件,以便您可以操作客户端的窗体。

相关问题