如果是因为SelectedIndexChanged事件没有响应的话 看看在InitializeComponent中有没有这句 this.DropDownList1.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged); 没有加上
to 江雨.net我刚开始做这个,不太懂,请问哪里看InitializeComponent
vb的话,不用修改InitializeComponent,你的函数是这个样式吗Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChangedEnd Sub
是这样,但是运行了没反应我在这个函数里面已经写入了重新绑定dropdownlist2的代码
在主类别的DropDownList的SelectIndexChange事件中 dim temp as string=ddl1.selectedItem.text ....处理一下 if temp=".." then ddl2.findbytext("...").selected=true
看看在InitializeComponent中有没有这句
this.DropDownList1.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged);
没有加上
dim temp as string=ddl1.selectedItem.text
....处理一下
if temp=".." then
ddl2.findbytext("...").selected=true
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head><body>
<script> //用二维数组定义各分项项目
var arr=new Array();
arr[0]=new Array("小学","中学","大学");
arr[1]=new Array("一班","二班","三班","四班","五班");
arr[2]=new Array("黎明","刘德华","张学友","郭富城"); //定义函数
function changesel(dsel,xsel)
{
//先清除原有的主项项目
for(i=xsel.options.length;i>0;i--)
{
xsel.options.remove(i-1);
}
//如果主项还原
if(dsel.value=="-1")
{
xsel.options.add(new Option("分项","-1"));
return;
}
//添加直属的分项项目
for(i=0;i<arr[dsel.value].length;i++)
{
xsel.options.add(new Option(arr[dsel.value][i],i));
}
} </script>
====================================================== 以下内容可包含于需要的地方:
注意,主项中调用了上面的程序:onchange=changesel(dddd,xxxx) ======================================================
主项内容:
<select id=dddd onchange=changesel(dddd,xxxx)>
<option value=-1>主项</option>
<option value=0>学校</option>
<option value=1>班级</option>
<option value=2>姓名</option>
</select>
<br>
分项内容:
<select id=xxxx>
<option>分项</option>
</select> </body>
</html>
<html>
<head>
<script language="C#" runat=server>
void Page_Load(Object Src,EventArgs e)
{
if (!Page.IsPostBack)
{
ArrayList arr=new ArrayList();
arr.Add("年级");
arr.Add("一年级");
arr.Add("二年级");
arr.Add("三年级");
arr.Add("四年级");
mylist1.DataSource=arr;
mylist1.DataBind();
}
}
void dropdownlist_select_Change(Object Sender,System.EventArgs E)
{
switch (mylist1.SelectedItem.Text)
{
case "年级":
ArrayList arr0=new ArrayList();
arr0.Add("班级");
mylist2.DataSource=arr0;
mylist2.DataBind();
break;
case "一年级":
ArrayList arr1=new ArrayList();
arr1.Add("班级");
arr1.Add("一一班");
arr1.Add("一二班");
arr1.Add("一三班");
arr1.Add("一四班");
mylist2.DataSource=arr1;
mylist2.DataBind();
break;
case "二年级" :
ArrayList arr2=new ArrayList();
arr2.Add("班级");
arr2.Add("二一班");
arr2.Add("二二班");
arr2.Add("二三班");
arr2.Add("二四班");
mylist2.DataSource=arr2;
mylist2.DataBind();
break;
case "三年级" :
ArrayList arr3=new ArrayList();
arr3.Add("班级");
arr3.Add("三一班");
arr3.Add("三二班");
arr3.Add("三三班");
arr3.Add("三四班");
mylist2.DataSource=arr3;
mylist2.DataBind();
break;
case "四年级" :
ArrayList arr4=new ArrayList();
arr4.Add("班级");
arr4.Add("四一班");
arr4.Add("四二班");
arr4.Add("四三班");
arr4.Add("四四班");
mylist2.DataSource=arr4;
mylist2.DataBind();
break;
}
}
</script>
</head>
<body>
<form runat=server>
<asp:dropdownlist id="mylist1" runat=server AutoPostBack="True" OnSelectedIndexChanged="dropdownlist_select_Change"/>
<asp:dropdownlist id="mylist2" runat=server/>
</form>
</body>
然后在 index_change的事件中编写程序就ok了
我这里主类别和次类别两张表里的数据会经常变换的,我绑定时都是读取表中的数据数据作为dropdownlist的选项我现在遇到的问题就是当绑定主类别的dropdownlist选项变更时SelectedIndexChanged事件不起作用
DR = scSubClass.ExecuteReader()
ddSubClass.DataSource = DR
ddSubClass.DataTextField = "name"
ddSubClass.DataValueField = "id"
ddSubClass.DataBind()
DR.Close()我原来绑定的代码就这么写的
现在就是ddCatalog_SelectedIndexChanged不执行