情况是这样子:
在Gridview中建了一个Dropdownlist 每点击一个选项都跳转到另一个页面 选项作为参数传递过去
代码如下:
protected void ddlAction_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList myDDL = (DropDownList)sender;
int rowNo = Convert.ToInt32(myDDL.SelectedIndex.ToString())-1; string _sid = myDDL.DataValueField.ToString(); string url;
url = "Action.aspx?sid=" + _sid + "&act=" + rowNo.ToString();
Response.Redirect(url);
}
问题是现在点击后退之后,再点击其他行的Dropdownlist URL参数还是第一次的 也就是无法传递别的了
在Gridview中建了一个Dropdownlist 每点击一个选项都跳转到另一个页面 选项作为参数传递过去
代码如下:
protected void ddlAction_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList myDDL = (DropDownList)sender;
int rowNo = Convert.ToInt32(myDDL.SelectedIndex.ToString())-1; string _sid = myDDL.DataValueField.ToString(); string url;
url = "Action.aspx?sid=" + _sid + "&act=" + rowNo.ToString();
Response.Redirect(url);
}
问题是现在点击后退之后,再点击其他行的Dropdownlist URL参数还是第一次的 也就是无法传递别的了
{
}
--------------------
没看懂?!
Ex:第一次点击第一行 都可以实现 --点后退 --第二次点击第二行Dropdownlist URL参数还是第一行的
肯定得在它的RowCommand之类的事件中写并查找DropDownList:
url = "Action.aspx?sid=" + _sid + "&act=" + findcontrol("lstName").SelectedValue
你的代码:url = "Action.aspx?sid=" + _sid + "&act=" + rowNo.ToString();看上面的代码。你这样写每次传递的都是第一行的数据,
你看上面人家写的代码,findcontrol("lstName").SelectedValue每次选中行的数据.