【发布时间】:2011-10-21 13:28:17
【问题描述】:
我有三个下拉菜单,它们都加载在同一个函数中。如何使下拉列表 2 和 3 变灰?如果在下拉菜单 1 上做出某个选择,我希望它们激活。
【问题讨论】:
-
你在使用 Ajax 控制工具包吗?
-
你能发布一些你的下拉代码现在是什么样子的示例代码吗?这将使提供您清楚的解决方案变得容易得多。
标签: asp.net vb.net drop-down-menu
我有三个下拉菜单,它们都加载在同一个函数中。如何使下拉列表 2 和 3 变灰?如果在下拉菜单 1 上做出某个选择,我希望它们激活。
【问题讨论】:
标签: asp.net vb.net drop-down-menu
如果您使用的是 AJAX ControlKit,则可以使用级联下拉菜单:
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx
如果没有,您可以为每个下拉框 OnSelectedIndexChanged 添加一个事件处理程序,然后在回发时执行您的逻辑。 (将文本框 1 和 2 设置为 .Enable = false onLoad)
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;
}
【讨论】:
如果我理解你的问题。
在您的第一个 dropdownlist 上创建 AutoPostBack="True"。
然后在
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
}
【讨论】:
在 VB.Net 中:
myDD.BackColor = System.Drawing.Color.FromArgb(235, 235, 228)
【讨论】: