asp.net提交问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 00:10:11
我有个asp.net注册页面 里面要填写30多个内容 由于验证码没有办法本地验证 只能放到服务器段验证 如果验证码输入错误 重新连接注册页面后 填写的内容全都空了 要重新填写 但是如果输入验证码错误回到历史页面的话 验证码又不变(没有刷新) 谁能告诉我一个办法 就是提交后如果验证码输入错误 既可以保留以前填写的内容 又可以让验证码刷新
(能提供思路就行 有详细办法更好)
我现在碰到这个问题的页面是aspx的 但是我还有个人才注册页面是htm的 填写的内容更多 那这个htm页面又怎么实现

你出错后有没有response redirect???

不要什么东西都往Session里面存。Session在万不得已的情况下使用。固然这个东西能很好的保存全局的东西,但是如果Session过多这个performance是需要考虑的。。

一个笨方法就是作为查询字符串传回去,然后在page_load里面绑一次。

Response.Redirect('...aspx?Text=ABCD')

然后page load的时候取到Text参数的值,再绑一次。

当然,你的各个值如果过多的话,你可以看看你的页面是不是编辑的是某一个对象的各个属性值。。比如你编辑的其实正好是一个UserInfo对象等等。如果是这样的话,你可以把这个临时对象放在ViewState里面可以。

用服务器控件默认会自动保存
要不就用Ajax,提交的时候先校对验证码,正确后在提交其他注册信息,不过这样验证码有根没有没啥区别了,绕过客户端的验证太容易了

看到上面有人说:你出错后有没有response redirect??
我感觉也是这样,你或许用了
验证出错后直接在网页上或弹出提示框就行了,不用跳转,这种跳转就是重新发一个请求给服务器,服务器返回的都是新页面(没填注册信息的页面),当然是空的了

只要在本页面做注册处理就行了 页面上的控件会自己记录值的,而验证码也会刷新

把各个控件的值都保存到Session里
然后Response.Redirect回来,从Session里读取再初始化

Ajax实现