代码改变世界

js动态改变HiddenField值,后台不能获取值的问题

2011-08-20 12:00  追忆似水流年  阅读(7526)  评论(3编辑  收藏  举报

在项目中遇到的问题是这样的:我在前一篇中写到页面交互在客户端JS使用window.showModalDialog()方法,A页面传递参数到B页面,B页面接收参数后,查询获得的数据,将选中的数据通过一个字符串返回来,这个通过window.showModalDialog()解决了。现在用JS将返回的字符串赋值给一个服务器控件HiddenField:document.getElementById("<%=hdnUserData.ClientID %>").value = result;同时将数据绑定到服务器控件CheckBoxList。将这返回的数据立马绑定到CheckBoxList(不需要手动操作)。本来还是想通过JS实现绑定的,结果因为CheckBoxList没有数据,查看前台源文件,根本找不到这个控件,这个方法不行,看来绑定需要在后台进行,想到使用document.reload()方法,在Page_Load中检测hdnUserData.Value是否为空,不为空就进行绑定CheckBoxList操作,结果前台JS有值,而后台总是取不到值。最后不用document.reload()方法,改用一个按钮,用js触发按钮的点击操作document.getElementById("<%=btnSearch.ClientID %>").click();来触发服务器操作,这时取HiddenField控件的值,成功!接下来进行绑定CheckBoxList的操作,