dropdownlist不知道咋了

bandwlink 2009-02-03 08:50:49
Cdropdownlist不知道咋了,例如读取数据库后动态添加以下的项:
text value
a 1
b 2
c 3
d 4
当选择c时,(AutoPostBack=true)
触发
[code=#]
protected void ddlClass_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Redirect("~/ClassView.aspx?classID=" + ddlClass.SelectedValue); //就是跳到自身页面
}
[/code]
之后只能选择a和b,不能选d,也就是只能选比你现在选的value小的项,
如果选d的话,就会跳转到选c的页面状况,相当于什么都没做,
请问这是怎么回事啊?这怎么解决?
...全文
70 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bandwlink 2009-02-04
  • 打赏
  • 举报
回复
我把page_load里的代码全写在
if(!isPsotBack)
{
//代码
}
就没出问题了
谢谢大家哦
踏雪听雨 2009-02-04
  • 打赏
  • 举报
回复
不需要用Response.Redirect这种方式吧.

直接当前页根据dropdownlist的选择绑定数据就行了
Jinglecat 2009-02-04
  • 打赏
  • 举报
回复

protected void Page_Load(object sender, EventArgs e) {
if(!IsPostBack) {
// 绑定 Dropdownlist 代码
// ...
}
}

protected void ddlClass_SelectedIndexChanged(object sender, EventArgs e)
{
// Response.Redirect("~/ClassView.aspx?classID=" + ddlClass.SelectedValue); //就是跳到自身页面
// 根据 ddlClass.SelectedValue 执行你的代码
// .....
}
宝_爸 2009-02-03
  • 打赏
  • 举报
回复
你不是把dropdownlist设置成autopostback了吗,这样,一改变选中的项,就会postback重新载入这个页面,并调用indexchanged事件。

然后你在indexchanged事件中就直接使用ddlClass.SelectedValue产生sql 语句就可以了。
Netcean 2009-02-03
  • 打赏
  • 举报
回复
strSql = "select * from article where classID=" + Convert.ToInt32(Request["classID"].ToString());

你获取classID是写在page_load里面的吗?在page_load里面是否有做判断是第一次加裁还是回转?
if(IsPostBack)
{
strSql = "select * from article where classID=" + Convert.ToInt32(Request["classID"].ToString());


}
试下看看
bandwlink 2009-02-03
  • 打赏
  • 举报
回复
classID是这样:
strSql = "select * from article where classID=" + Convert.ToInt32(Request["classID"].ToString());


indexchanged产生了postback?
把AutoPostBack=false,只剩下indexchanged事件的话,选择后都没反应的,
如果不要indexchanged的,只要AutoPostBack的话,只要我一选择就会
"System.Web.HttpException: 不能在 DropDownList 中选择多个项。"

p.s:我用的是vs08
宝_爸 2009-02-03
  • 打赏
  • 举报
回复
我这里没有你的问题啊。你是怎么使用classID这个参数的。

还有一个问题,你redirect到自己会丢失viewstate的。也就是你选择的那个选中状态会丢失。

你的代码很奇怪呦。实际上刷新了两次页面,一次世indexchanged产生的postback,另一次是Redirect。实际上你不需要redirect的。postback后就可以通过ddlClass.SelectedValue取得选中的值。

62,072

社区成员

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

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

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

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