首 页电脑文章电脑书下载客户留言
您当前的位置:LR电脑书籍网电脑文章网站建设ASP.NET技术 → 文章内容
ASP.net:缺少if(!Page.IsPostBack)引起的错误
发布时间:2008-7-1 11:12:57

减小字体 增大字体

L R 小提示:让眼睛适当的休息。
       大家不要小看这一句代码,我记得我学ASP.NET的时候,就由于少了这句代码,引起了好多的错误,这里回忆一下以前亲自遇到的问题,希望能给有这些错误的朋友一些启示。
        1。验证码错误
        验证码一般是在Page_Load事件里直接生成,或是调用函数生成的,如果你没有把生成验证码的代码放在if(!Page.IsPostBack)里面,那当你点登陆等按钮时,将永远也登陆不了,你仔细检查发现登陆代码并没有,但就是登陆不了,如果跟踪,你会发现,你填入的验证码和程序生成的验证码会不同,但是在登陆的时候,你明明填的是正确的验证码,哈哈,这总问题要是没有经验,真是会搞的头晕。这里我给大家解释一下为什么点登陆的时候得到验证码会不同。
        当你点登陆按钮的时候,一般人以为会直接执行登陆按钮的事件代码,其实错误就在这里,点登陆的时候,首先执行的是Page_Load的代码,也就是说,无论你什么时候点按钮,首先执行的是Page_Load事件里的代码,然后才执行按钮对应的事件代码,所以,当你点登陆时,由于它执行了Page_Load里的代码,使得验证码重新生成了,而你填入的验证码是不会变的,结果一比较两个验证码(一个你填的,一个重新生成的),当然就不同了。此种问题,只要将生成验证码的代码放在if(!Page.IsPostBack)里面就可以解决了,放在里面后,当你查看页面时,点登陆按钮,就不会再执行这里面的代码了。
        2。得不到下拉菜单的值
        一般DropDownList控件里的内容,也是在Page_Load里通过代码添加的,如果这些代码没有放在没有if(!Page.IsPostBack)里,那么点登陆等按钮时,下拉菜单中的内容又会重新生成,所以无论你选了哪一项,都只能得到第一项的值,解决方法同上个问题,原理相同,这里就不解释了。
电/脑书籍网
L R 小提示:放风筝是对眼睛只有帮助没有伤害的娱乐。
如果您觉得 LR电脑书籍网 网站还不错,请介绍给您的同事或朋友.http://www.book52.com

特别注意:本站所提供的书籍,技术文章,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。
[ ] [返回上一页] [打 印]
文章评论 (评论内容只代表网友观点,与本站立场无关!)

用户名: 查看更多评论

分 值: 100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

本类热门文章
相关文章
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 所有分类 - 电脑书籍地图