如题,
var str = ShowPreAuthority();
                var obj = document.all.SelectPreEmrl;
                for (var i=0;i<obj.options.length;i++)
                {
                    if (obj.options[i].value == str)
                    {   
                        obj.options[0].selected = false;
                        obj.options[i].selected = true;
                        obj.selectedIndex = i;
                        obj.options[i].value = str;
                        break;
                    }
                }
执行完毕后了,我点击按钮触发保存事件时,开始获取dropdownlist新值,获取不到,获取的还是JS未改变状态前的选中值...
(dropdownlist的autopostback设置与否结果都是一样的)
这是为什么?
后台获取是 this.DropDownList.SelectedValue

解决方案 »

  1.   

    string ID = Request.Form[DropDownList1.UniqueID];
    写在cs里就能取到选择的值了
      

  2.   

    Request.Form 会报错,为将对象引用到对象的实例....
    除了使用hidden控件,还有别的方法吗?比如在javascript里直接传后台?可以吗?怎么实现?就像 anan221  说的
      

  3.   

    或者可以把按钮弄成前台按钮runat=server去掉,后台按钮一定会刷新的加一Hidden,从Hidden里取值,这个方法很不错呀,惯用手段,不用可以用ajax使前台代码可以调用后台函数,事件.
      

  4.   

    string   ID   =   Request.Form[DropDownList1.UniqueID]; 
    我都是这么写的,怎么会报错呢。是不是你其他地方出了什么问题啊?
      

  5.   

    我dropdownlist的enable是false,只是在JS里改变的值