今天微软项目组的人遇到问题了,然后所有IT开始讨论怎么解决。
问题是这样的,区域和城市联动,选择相应的值后查询,出现如下图的情况。
程序使用的是服务器端控件DropDownList.
大家可能已经想到了,在使用Ajax之后,客户端的值就已经更改,但是ViewState里面存储的值没有更改,然后就出现上面的错误提示。
我给的建议是,将DropDownList更改为运行在服务端的select 。(其实我不能确定是DropDownList的问题,呵呵)
但是接下来的又出错了,获取不到正确的值,获取到的是首次加载时对应序号的值,而不是局部刷新后的值。
我给的建议是,直接用Request.Form对象获取,采用编译后的ID获取的是null,也就是说,Request.Form 集合中不存在对应的值,然后采用Name,后来终于获取到正确的值了,O(∩_∩)O~
所以需要注意的是,当采用Request.Form获取值的,里面的参数必须是Name,而不是ID.
当采用Ajax更新下拉框值,还是需要使用 这个值是,不能直接用selectvalue或者value来获取。