利用dropdownlist 实现分页跳转时 如何保持原来选中的item 不变?。。。。。。。在线等!!!!!!!! 用dropdownlist 实现分页跳转 时如何保持当前 选择的item 不变啊现在可以实现按选中的页进行跳转, 但是 比如我选择跳转item为2 跳转过去后 原来选中的item 就变成1 了 请问如何保持原来选中的item 不变呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dropDownList1.Items.FindByValue(GridView1.CurrentPageIndex.ToString()).Selected=true; 定义一个静态的itemid=0dropdownlist选择改变时itemid=dropdownlist.selectvaluepage_load里if(itemid!=0){ dropdownlist.selectvalue=itemid;} DropDownList ddl=new DropDownList (); ViewState.Add("page", 当前页码); //跳转 ddl.ClearSelection(); ddl.Items.FindByValue(ViewState["page"].ToString()).Selected = true; ViewState是最简单的办法......你还可以用GET方式传参数....方法太多了... 我的代码是DropDownList 事件的代码是这样的 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { string i = ((DropDownList)(sender)).SelectedValue; Int32 m = Convert.ToInt32(i); DropDownList ddl = new DropDownList(); ViewState.Add("ddl", i); //跳转 ddl.ClearSelection(); ddl.Items.FindByValue(ViewState["ddl"].ToString()).Selected = true; Response.Redirect(Request.Path + "?page=" + (m - 1)); }但是 这样改后出现错误请问应该如何修改,谢谢 翻页的时候不要再次绑定 dropDownList也就是说 只有在!IsPostBack的时候才绑定 dropDownList 你用的 是 Response.Redirect所以,在你的 dropDownList的绑定的后,根据 Request.QueryString["page"]来设定if(Request.QueryString["page"]!=null&&Request.QueryString["page"].ToString!=""){ DropDownList1.SelectedValue = (string)(int.Parse(Request.QueryString["page"].ToString()) + 1);} 你看了我的帖子了吗?用ViewState保存啊,但是出现上面的问题 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { //DropDownList DropDownList1 = (DropDownList)Repeater1.FindControl("DropDownList1"); //Response.Redirect(Request.Path + "?page=" + ((DropDownList)(sender)).SelectedValue); string i = ((DropDownList)(sender)).SelectedValue; Int32 m = Convert.ToInt32(i); DropDownList ddl = new DropDownList(); ViewState.Add("ddl", i); //跳转 ((DropDownList)(sender)).ClearSelection(); //((DropDownList)(sender)).SelectedValue = ViewState["ddl"].ToString(); 这样也不行 ((DropDownList)(sender)).Items.FindByValue(ViewState["ddl"].ToString()).Selected = true; Response.Redirect(Request.Path + "?page=" + (m - 1)); }上面的代码 运行没有错误 但是 仍然无法保持原理选中的item Response.Redirect 過去的頁面IsPostBack=true這個時候沒有ViewState!!! 怎么判断文本框输入的内容 gridview一个格子里分行显示? 我想做个简易的blog页面支持模板(换皮肤)的功能,请问用什么样的方案来实现好呢? 循环问题,头都两个大了!!!! 生成HTML的错误! 急!急!急!哪位好心人帮帮小弟啊!!!万分感谢!!! asp.net有没有二级目录映射的功能。 excel文件的数字签名问题 写asp.net程序用c#还是vb好???讨论一下,up有分! Control类中的三种ID都有什么区别?都用在那里? dropdownlist在postback后无法保存selected 登陆后如何自动播放
itemid=dropdownlist.selectvaluepage_load里
if(itemid!=0)
{
dropdownlist.selectvalue=itemid;
}
ViewState.Add("page", 当前页码);
//跳转
ddl.ClearSelection();
ddl.Items.FindByValue(ViewState["page"].ToString()).Selected = true;
我的代码是DropDownList 事件的代码是这样的
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{ string i = ((DropDownList)(sender)).SelectedValue;
Int32 m = Convert.ToInt32(i); DropDownList ddl = new DropDownList();
ViewState.Add("ddl", i);
//跳转
ddl.ClearSelection();
ddl.Items.FindByValue(ViewState["ddl"].ToString()).Selected = true;
Response.Redirect(Request.Path + "?page=" + (m - 1)); }但是 这样改后出现错误
请问应该如何修改,谢谢
也就是说 只有在!IsPostBack的时候才绑定 dropDownList
所以,在你的 dropDownList的绑定的后,根据 Request.QueryString["page"]来设定if(Request.QueryString["page"]!=null&&Request.QueryString["page"].ToString!="")
{
DropDownList1.SelectedValue = (string)(int.Parse(Request.QueryString["page"].ToString()) + 1);
}
{ //DropDownList DropDownList1 = (DropDownList)Repeater1.FindControl("DropDownList1");
//Response.Redirect(Request.Path + "?page=" + ((DropDownList)(sender)).SelectedValue); string i = ((DropDownList)(sender)).SelectedValue;
Int32 m = Convert.ToInt32(i); DropDownList ddl = new DropDownList();
ViewState.Add("ddl", i);
//跳转
((DropDownList)(sender)).ClearSelection();
//((DropDownList)(sender)).SelectedValue = ViewState["ddl"].ToString(); 这样也不行
((DropDownList)(sender)).Items.FindByValue(ViewState["ddl"].ToString()).Selected = true;
Response.Redirect(Request.Path + "?page=" + (m - 1)); }上面的代码 运行没有错误 但是 仍然无法保持原理选中的item
IsPostBack=true
這個時候沒有ViewState!!!