2011-04-22 2 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 –

+1

После того, как вы извлекли данные json с сервера, вы должны проанализировать данные результата и показать результат пользователю. Вы должны сделать это на линии отладчика. – VikciaR

ответ

0

Аналогичная задача может быть выполнена с использованием JavaScript. Проблема в том, что вам нужно будет использовать элемент управления html вместо элемента управления кнопкой asp.net, чтобы вы могли манипулировать формой на стороне клиента.

Смежные вопросы