页面上有两个服务器控件listbox,a存储的是所有备选字段,绑定数据库,b是用来存储用户从a中选择的字段,选择操作是客户端的javascript实现的,当提交回服务器后,服务器却无法取到选择后的值,不知如何解决原来选择操作是通过服务器端的方法来实现的(如b.Items.Add(a.Items(i))),但是每次从listbox增加或者删除,页面都要刷新,很慢,今天花了力气改为客户端操作,没有想到居然出现了上面的问题,唉高人解答一下呀,不胜感激
调试欢乐多
JS只是在Client端改变了ListBox的Items项,但是并没有将数据提交到服务器端,服务端怎么可能取到值。
两个解决办法:
1、使用Ajax,将增加或者删除的Item通过Ajax传到服务端。
2、不使用Ajax,可采用隐藏域来纪录你操作的值,在服务端取这个隐藏域的值,我通常使用Hidden控件,当然Runat=“Sever"一定要设置
http://blog.csdn.net/llxchen/archive/2008/03/12/2171518.aspx
页面是有个按钮(服务端控件),点击时候处理用户输入和选择的数据
试一试 ——恐怕又要多出好多代码唉,惭愧,一直想学ajax,记得那天在按照《ajax基础教程》写了一个最简单的例子,在浏览器中运行居然没有反应,然后就没有激情了,呵呵
哪个好心人顺便在这里解答一下为什么呀
我的机器是xp sp2,ie 6.0 sp1
这位朋友说得很正确,javascript是在内存中操作了listbox b,这种操作并没有将影响反应到html中,所以你的提交回服务器的操作,也只能获得了listbox b的原来的状态.解决办法,他们也说了.不过,简单一点,可以通过客户端回调来做.简述,新增一个input type="button",在这个onclick(js)事件中获取值,再传递到服务器端.