当前位置: 代码迷 >> ASP.NET >> 【提问】dropdownlist 不触发selectedindexchanged解决办法
  详细解决方案

【提问】dropdownlist 不触发selectedindexchanged解决办法

热度:6017   发布时间:2013-02-25 00:00:00.0
【提问】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";
  相关解决方案