#asp.net #vb.net #drop-down-menu
#asp.net #vb.net #выпадающее меню
Вопрос:
У меня есть три выпадающих списка, которые все загружаются в одну и ту же функцию. Как мне выделить выпадающие списки 2 и 3 серым цветом? Я хочу, чтобы они активировались, если в выпадающем списке 1 сделан определенный выбор.
Комментарии:
1. используете ли вы Ajax Control Toolkit?
2. Не могли бы вы опубликовать пример кода того, как выглядит ваш выпадающий код сейчас? Это значительно упростит предоставление понятного вам решения.
Ответ №1:
Если вы используете AJAX ControlKit, вы можете использовать каскадные выпадающие списки:
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx
Если нет, вы можете добавить обработчик событий для каждого выпадающего списка OnSelectedIndexChanged, а затем выполнить свою логику при обратной передаче. (установите текстовое поле 1 и 2 do .Включить = ложная загрузка)
if(Textbox1.Text == "hello world"){
Textbox2.enabled = true;
}
Или вы можете использовать javascript, чтобы сделать это на стороне клиента следующим образом: поэтому отключите обратную передачу для выпадающего списка, используйте хук OnClient javascript и реализуйте включение / отключение в javascript.
function checkDrop(DropDown)
{
...check logic disable Dropdown etc
document.getElementById(DropDown).disabled = true;
}
Ответ №2:
Если я понял ваш вопрос. Сделайте AutoPostBack="True"
на своем первом dropdownlist
. Затем в
protected void DropdownlistSelectedIndexChanged(object sender, EventArgs e)
{
//get the selected item
var item = Dropdownlist.SelectedItem.ToString();
// depending on the item you can grey the other dropdowns
}
Ответ №3:
В VB.Net:
myDD.BackColor = System.Drawing.Color.FromArgb(235, 235, 228)