asp.net 中 autopostback和IsPostBack浅析

     要分析这2个词的用法,先来看看B/S中的客户端和服务器端(即前台和后台)的概念吧。

    asp.net是服务端的方法,客户端,现在主要是Javascript。就像现在的网站编程,前台用javascript,后台用asp.net,显示用html。服务器在接受到客服端的浏览器发出的请求之后,会把页面发送带客户端显示。asp.net的方法事件都是后台方法。啊,我也不怎么会表达,直接进入正题吧。

比如当你点击一个button按钮。它就会激发按钮的点击事件,向服务器发送请求,执行点击事件。然后将执行后的结果,发送到客户端显示。也就是说你点击了一个button之后,浏览器的页面就自动刷新了,这个刷新时页面重新加载的过程,整个页面都又从服务器发过来一次。这就是一次postback。要知道asp.net的服务器控件里面大多数都有个autopostback属性,意思说说自动刷性,这个属性,有的按钮有,有的按钮没有。比如button就没有这个属性,dropdownlist就有,而且一般autopostback属性的值都是false。默认是autopostback=false。为什么会这样呢?你想想如果这个属性是true那么,你点击一次,那么就像服务器发送请求,然后页面重新加载,这对于一个dropdownlist而言有用吗,他只是从下拉列表中选择一个值,一般情况下它是辅助其他控件一起应用的,所以一般不要求它是true,当然需要时候,也可以设置成true。

       好,再来看ispostback。它的意思是这样的:当页面第一次加载,就是说是服务器第一次发送给客户端,客户端还没来得及发送请求给服务器,还没有postback,那么这个时候的情况ispostback的值是false,因为客户端还没有过postback发生。当有点击事件了,服务器又收到请求了,页面重新加载了,那么ispostback的值就是true了。ispostback通常的应用就是 if (!IsPostBack) {  。。。。}

用来当页面第一次加载的时候初始化页面的默认设置。


类别: asp.net  查看评论

你可能感兴趣的:(asp.net)