B/S开发基础知识-页面回发与页面刷新问题

asp.net的程序都是部署在服务器上的,也就是说你在浏览器上看到的任何东西都是你像服务器发送了一个http请求,服务器经过一些处理之后再反馈给你。(.aspx.cs文件就是服务器端代码)抛开AJAX技术不谈,你打开页面之后,页面上的内容是静止不变的,只有当你刷新了一下页面或者点了页面上某个button,页面刷新了一下,页面上的内容才有可能更改,而这个更改就是你去服务器又请求了一次页面内容而已。

asp.net的回发,有点类似于这种上述的这种机制,有的回发是希望服务器重新反馈一次内容;有的回发则是希望往服务器发送一些内容。

举个例子:asp.net的textbox控件上有一个属性叫autopostback——让你设置该文本框在失去焦点时是否回发。如果你没设置,当你在文本框内填入内容,并失去焦点时,服务器这时候是不知道你填的是什么内容,之后你将表单递交了之后,服务器才会知道。如果你设置了,当你输入内容并失去焦点之后,页面就自动将文本框的内容发回给服务器了,而不需要你再去点击某些递交按钮。

有时候我们可以用这个做一个简单的数据验证操作,比如做一个注册页面,输入身份证号后,需要立即验证该身份证号在数据库里是否已经存在,那么就可以将该文本autopostback设置成true,这样一旦输入身份证并失去焦点之后,可以将该身份证号自动发送到服务器(后台)进行验证,而不需要将所有内容都填写完毕在递交的时候再进行验证。

当然这种模式,会带来页面的刷新现象,用户体验不好,因此很少用到,一般都是用AJAX来实现的。

对回发用的最多的,我觉得还是在page_load里边的判断语句,if(!ispostback){具体操作}

这样的效果等同于=如果不是回发而引起的,就执行具体操作。也就是说能保证page_load里边的代码只执行一次,而不会因为你点击了页面上的button按钮刷新了页面,而每次都会执行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 参考书目:《别独自用餐》 1.文章说的什么? 一句话概括,一个人的成功85%来自人脉。打造经营好社交圈,可以受益终...
    Molly郭儿阅读 1,690评论 0 3
  • 整整一个月的时间,阅读完上中下三册的《飘》,微信阅读、平板电脑、电子书等诸多形式,看来想读书总能挤出时间的!
    我心飞扬3666阅读 1,007评论 0 0
  • 2月26日,凌点28分。 今天是我女儿出生的第十天,本来想着等女儿满月再写一篇碎碎念的文章来记录这段日子的酸甜苦辣...
    流蘇髻阅读 4,603评论 1 0
  • 雪,没有雨的聒噪,太阳的刺眼,它就好像折翼天使静静落在你的身旁。 当你发现它时,你会觉得,世界上最美妙的事莫过于此...
    青柠年少阅读 1,846评论 0 0