Javascript 改变DropDownList的选中状态后,后台不能获取新的选中值

zhangrf 2007-11-29 02:41:39
如题,
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
...全文
405 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangrf 2007-11-29
  • 打赏
  • 举报
回复
我dropdownlist的enable是false,只是在JS里改变的值
QQQQAnnie 2007-11-29
  • 打赏
  • 举报
回复
up
yumiao_ym_yx 2007-11-29
  • 打赏
  • 举报
回复
string ID = Request.Form[DropDownList1.UniqueID];
我都是这么写的,怎么会报错呢。是不是你其他地方出了什么问题啊?
tcxx2008 2007-11-29
  • 打赏
  • 举报
回复
或者可以把按钮弄成前台按钮runat=server去掉,后台按钮一定会刷新的

加一Hidden,从Hidden里取值,这个方法很不错呀,惯用手段,不用可以用ajax使前台代码可以调用后台函数,事件.
zhangrf 2007-11-29
  • 打赏
  • 举报
回复
Request.Form 会报错,为将对象引用到对象的实例....
除了使用hidden控件,还有别的方法吗?比如在javascript里直接传后台?可以吗?怎么实现?就像 anan221 说的
yumiao_ym_yx 2007-11-29
  • 打赏
  • 举报
回复
string ID = Request.Form[DropDownList1.UniqueID];
写在cs里就能取到选择的值了
anan221 2007-11-29
  • 打赏
  • 举报
回复
把脚本的值传到后台就可以了
blackhero 2007-11-29
  • 打赏
  • 举报
回复
加一Hidden,从Hidden里取值.
zhangrf 2007-11-29
  • 打赏
  • 举报
回复
那怎么才能获取倒新值呢?
北京的雾霾天 2007-11-29
  • 打赏
  • 举报
回复
在脚本里对控件的改动并不会自动把改动提交到服务器,所以服务器上的状态是不会改变的。

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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