+ -
当前位置:首页 → 问答吧 → Ajax还会触发Page_Load事件吗?

Ajax还会触发Page_Load事件吗?

时间:2011-12-09

来源:互联网

如题,我在学习《asp.net2.0揭秘》时,在自定义控件那章看到有关Ajax的源代码,是验证用户名输入是否重复的,其中包括一个.cs的控件类,一个中间层的.js,以及一个.aspx文件(这种情况下生成的网站为原书网站)。当我把.js文件删除并且修改.cs文件中的内容时,功能依然能实现(这时生成的网站为修改网站)。下面是我的疑问:

(1)我在.aspx中用一个Label控件通过在Page_Load中加入对IsPostBack的检查发现原书网站和修改网站每次提交数据都会导致IsPostBack事件的触发,是否说明局部的修改和全网页的修改都会导致回发,不过数据量不同而已?


(2)我应该如何了解使用Ajax和不使用Ajax的同一种功能的实现到底有什么区别?(我的想法是在页面上加一个控件来作为对照组,是否可行?如果可行如何实现?)


lz一直在线,问题解决后马上结贴,谢谢各位了~

作者: sum331425333   发布时间: 2011-12-09

不会的,ajax不在page的生命周期内。
也不能访问page类之中的其他公共方法。

作者: jiuhexuan   发布时间: 2011-12-09

一般net中ajax是用ashx来处理,如果你用aspx来处理,那aspx的生命周期你是无法避免的

作者: starfd   发布时间: 2011-12-09

使用区别就是
普通方法
可以使用page生命周期中的任意事件,包括post绑定等;可以访问page类的公共方法,变量
ajax
只能调用对应方法,不参与page的init,load,render等,不能访问page类的其他公用资源

作者: jiuhexuan   发布时间: 2011-12-09

好吧,二楼应该是对的,因为.apsx文件的关系我无法避免aspx的生命周期,大概就是Ajax也会导致IsPostBack为真的原因,问题
(2)在这样的情况下,我如何验证使用Ajax与不使用Ajax的区别
PS:我对是否使用Ajax的理解就是是否有.js的中间层,不知道这样是否正确?事实上原书网站(有中间层)
和修改网站(无中间层)都可以实现我要的功能。


F5狂刷新中。。。。

作者: sum331425333   发布时间: 2011-12-09

2说的因为用的aspx所以page的生命周期无法避免,但是ajax应该只是刷新部分数据的,不会刷新整个页面,我是否可以定义一个每次从服务器回传就会改变的控件,如果可以,用如何定义?

作者: sum331425333   发布时间: 2011-12-09

吃饭并且F5狂刷新中。。。

作者: sum331425333   发布时间: 2011-12-09

我建议楼主现在先不要去管ajax,继续学习.net后面的章节。
因为.net的webform是把网页请求的本来面目封装起来了,你如果在webform的基础上去了解ajax的话只会知其然不知其所以然,从而误导了自己。

先把webform用熟了来,再去了解网页请求本质的东西,这样容易搞清楚一点。

其实学web编程的时候本就不该从.net入手,因为虽然.net用起来很简单是建立在它封装了很多本质的东西,对初学者会造成误导。。(我以前就是受害者之一)应该用php这种村纯粹的web编程语言入手,从了解web交互的本质开始

作者: qq546937127   发布时间: 2011-12-09

开始的时候应该多动手,实现别人的例子程序,这样一是可以增加自己的成就感提高自身学习的兴趣,二是可以更快的熟悉.net,建议可以去找一些简单的web系统看源码,毕业设计什么的,自己试着模仿,这样上手的速度是最快的。

作者: qq546937127   发布时间: 2011-12-09

相关阅读 更多