ASP.NET中form表单数据提交至本页面进行处理,希望表单里的radio,checkbox被选中的值不会被刷新,求大神指导怎么做?
希望表单里的radio,checkbox被选中的值不会被刷新
这个是什么意思啊?
做的一个查询功能,就是选择查询条件后点击查询,我是以表单的形式提交到本页面,但是每次点击以后页面上选中的一些按钮都会刷新变成默认选项,我想让他保持我选择的值!
@让手指在键盘上飞舞: 如果是正常的asp.net web form提交,应该有viewstate来保存控件中输入的值的。你用的服务器端的控件?还是html控件?
@chenping2008: 关键是用的ASP,不是ASP.NET~~~
@chenping2008: 如果在提交至本页的话是不是要搞个hidden标签来存放选择的值啊?
@让手指在键盘上飞舞: 你可以在提交完了,以后,把提交完的数据再传递回来。
@chenping2008: 传递回来???我刚才做了一下,就是提交到本页以后肯定会在地址栏中有选择的数据的吧?然后我就通过获取每个选择标签的数据,当某标签数据不为空的时候就写个代码为这个标签设置一个checked属性,这样没问题吧?但是当才调试了一下,依然有问题,就是比如那个拼音的查询条件,当我选择单拼的时候,点击查询页面依然显示的是单拼被选中,但是如果我选择单拼和三拼2个条件,点击查询的时候,页面上面只会显示一个被选中~~~哎!试了几次,发现它总是只会显示一个被选中的
!纠结!!
<form target="_blank"...
在新窗口打开提交
难道没别的方法了吗?我做的一个查询功能呢,每次都重新打开一个页面那多不好啊
@让手指在键盘上飞舞:
那页面放个iframe,点提交按钮的时候,将表单的html复制到iframe里的表单里去提交。
页面初始化的时候将你的查看条件用js赋值到页面选项
把所有的条件都变成地址栏参数,然后再把它们获得初始化控件就行了.
用表单肯定是把参数放在地址栏里面的啊,我用的post方式提交的,不过现在有问题了,当我首次选择条件的时候,比如拼音的选择的时候我选择一个单拼,点击查询,这个单拼依然选中,但是如果我现在2个条件,单拼和三拼的时候点击查询,MB的~~~只会显示第一个选中的那一项被选中!
@让手指在键盘上飞舞:
要注意把所有的参数以server.urlencode处理下,不然你会发现很多参数只有第一个生效,因为参数中间有特殊字符,像.#这些,处理后的结果就是%32#*ds3909%2882像这样的,而不是原来是 单拼/双拼/这样中文显示了.
在asp.net底下使用服务控件就可以实现,而且默认就是这样效果
你说 关键是用的ASP,不是ASP.NET~~~
那么用 javascript进行 ajax post, 这样原来的页面就不会自动刷新了