选取DropDownList的值,总是第一个值?

hagain 2007-06-06 05:05:40
DDL1 的项是省份;DDL2的项是城市。现在选择DDL1不同的省份,DDL2显示相应的城市。但每次选择后,刷新页面后所DDL1显示的都是第一个值,不会改变的?
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack )
{ OleDbConnection conn=DB.conn(); string sql="select sheng from city group by sheng";
OleDbDataAdapter da=new OleDbDataAdapter();
OleDbCommand cmd=new OleDbCommand(sql,conn);
conn.Open();
da.SelectCommand =cmd;
DataSet ds=new DataSet();
da.Fill (ds);
this.ddlSheng.DataSource=ds.Tables[0];
this.ddlSheng.DataMember = ds.Tables[0].Columns[0].ToString();
this.ddlSheng.DataValueField = ds.Tables[0].Columns[0].ToString();
this.ddlSheng.DataBind();
ds.Clear();
conn.Close();
}
private void Button1_Click(object sender, System.EventArgs e)
{
this.ddlCity.Items.Clear();
OleDbConnection conn=DB.conn(); //列出DDL1相应的城市
string sheng=this.ddlSheng.SelectedValue ;
this.Label1.Text =""+sheng+"";
string sql="select city from city where sheng='"+sheng+"'";
OleDbDataAdapter da=new OleDbDataAdapter();
OleDbCommand cmd=new OleDbCommand(sql,conn);

conn.Open();
da.SelectCommand =cmd;
DataSet ds=new DataSet();
da.Fill(ds);
this.ddlCity.DataSource=ds.Tables[0];
this.ddlCity.DataMember = ds.Tables[0].Columns[0].ToString();
this.ddlCity.DataValueField = ds.Tables[0].Columns[0].ToString();
this.ddlCity.DataBind();
ds.Clear();
conn.Close();
}

}
...全文
272 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
youthkin 2007-06-06
  • 打赏
  • 举报
回复
autopostback属性设为true没有?
mqc507 2007-06-06
  • 打赏
  • 举报
回复
在DDL1_SelectIndexChanged()中写:

页面传递的变量= request.QueryString["city"];
ListItem LI=(ListItem)DDL1.Items.FindByText("页面传递的变量");//如果你选择城市1,应 有 this.aspx?city="+DDL1.SelectItem.Text+"吧 ?那这个“页面传递的变量”就是“city”
if(LI!=null)
{
LI.Selected=true;
}
mqc507 2007-06-06
  • 打赏
  • 举报
回复
在DDL1_SelectIndexChanged()中写:

ListItem LI=(ListItem)DDL1.Items.FindByText("页面传递的变量");//如果你选择城市1,应 有 this.aspx?city="+DDL1.SelectItem.Text+"吧 ?那这个“页面传递的变量”就是“city”
if(LI!=null)
{
LI.Selected=true;
}
Aden 2007-06-06
  • 打赏
  • 举报
回复
string sheng=this.ddlSheng.SelectedValue ;

改成下面:
string sheng = Request.Form["ddlSheng"];
chy710 2007-06-06
  • 打赏
  • 举报
回复
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>


protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
// ....
}
wang520d 2007-06-06
  • 打赏
  • 举报
回复
aotopostback = false;

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧