dropdownlist不知道咋了
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的页面状况,相当于什么都没做,
请问这是怎么回事啊?这怎么解决?
------解决方案--------------------
我这里没有你的问题啊。你是怎么使用classID这个参数的。
还有一个问题,你redirect到自己会丢失viewstate的。也就是你选择的那个选中状态会丢失。
你的代码很奇怪呦。实际上刷新了两次页面,一次世indexchanged产生的postback,另一次是Redirect。实际上你不需要redirect的。postback后就可以通过ddlClass.SelectedValue取得选中的值。
------解决方案--------------------C# code
strSql = "select * from article where classID=" + Convert.ToInt32(Request["classID"].ToString());
------解决方案--------------------
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 执行你的代码
// .....
}
------解决方案--------------------
不需要用Response.Redirect这种方式吧.
直接当前页根据dropdownlist的选择绑定数据就行了