【提问】dropdownlist 不触发selectedindexchanged
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>内容管理系统</title>
<style>
body
{
scrollbar-base-color:#C0D586;
scrollbar-arrow-color:#FFFFFF;
scrollbar-shadow-color:DEEFC6;
}
</style>
</head>
<frameset rows="60,*" cols="*" frameborder="no" border="0" framespacing="0">
<frame src="top.aspx" name="topFrame" scrolling="no">
<frameset cols="180,*" name="btFrame" frameborder="NO" border="0" framespacing="0">
<frame src="menu.aspx" noresize name="menu" scrolling="yes">
<frame src="main.aspx" noresize name="main" scrolling="yes">
</frameset>
</frameset>
<noframes>
<body>您的浏览器不支持框架!</body>
</noframes>
</html>
在frameset的一边放了一个dropdownlist
然后在dropdownlist的selectedindexchanged里面写了些
代码,
可是调试的时候我去选择下拉框
它不会执行这个selectedindexchanged事件
这是为什么
难道和框架有原因?
------解决方案--------------------把dropdownlist的autopostback 改成true
------解决方案--------------------if(!ispostback)
{
bind();
}
autopostback=true;
估计可能是上面两个问题导致的吧
------解决方案--------------------绑定代码有问题吧
------解决方案--------------------你的选择索引改变事件!当它改变后得到一个下拉菜单的选项值!然后另一个控件得到这个值绑定就ok 了!回传设置为自动回传!
比如
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
DataSet ds = new DataSet();
int j = Convert.ToInt32(DropDownList1.SelectedValue.ToString());
string strWhere = " and s.shengid='" + j + "'";
ds = mbshi.GetList(strWhere);
DropDownList2.DataSource = ds;
DropDownList2.DataTextField = "shiname";
DropDownList2.DataValueField = "shiid";
DropDownList2.DataBind();
DropDownList2.Items.Insert(0, new ListItem("<-选择->", "0"));
}
------解决方案--------------------我试了你的代码,是可以的。你在新建一个试试
------解决方案--------------------d
------解决方案--------------------设下断点吧,看在那一步出了问题的
------解决方案--------------------看好了
public void binddro1()
{
DataSet ds = new DataSet();
string strWhere = " ";
ds = mbsheng.GetList(strWhere);
DropDownList1.DataSource = ds;
DropDownList1.DataTextField = "shengname";
DropDownList1.DataValueField = "shengid";
DropDownList1.DataBind();
DropDownList1.Items.Insert(0, new ListItem("<-选择->", "0"));
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
DataSet ds = new DataSet();
int j = Convert.ToInt32(DropDownList1.SelectedValue.ToString());
string strWhere = " and s.shengid='" + j + "'";
ds = mbshi.GetList(strWhere);
DropDownList2.DataSource = ds;
DropDownList2.DataTextField = "shiname";
DropDownList2.DataValueField = "shiid";