惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
C
Check Point Blog
博客园_首页
B
Blog
D
Docker
U
Unit 42
量子位
I
InfoQ
有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
GbyAI
GbyAI
L
LangChain Blog
云风的 BLOG
云风的 BLOG
博客园 - Franky
美团技术团队
T
The Blog of Author Tim Ferriss
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
Vercel News
Vercel News
Recent Announcements
Recent Announcements
雷峰网
雷峰网
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
Google DeepMind News
Google DeepMind News

博客园 - Chris Chen

行业网站运作与赢利模式分析 草根传播引发营销新变革 面对淘宝 易趣在无奈中颓落 中国移动电子商务的三大问题 一种很干净的安装方式(一) 几个值得关注的PHP MVC Framework PHP FRAMEWORK——PRADO 介绍 - Chris Chen Cake PHP framework [转] 我的软件推广成功之路(转) MySQL使用和管理 HtmlControl与WebControl的区别与用途 使用trace方法和trace属性记录Page目录中网页的执行情况 使用StringBuilder类 掌握ADO.NET的十个热门技巧(一) ADO.NET下各种DB的连接方法 使用ADO.NET解锁 Microsoft Access数据(一) 掌握ADO.NET的十个热门技巧(二) 使用ADO.NET解锁 Microsoft Access数据(二) 用Visual C#来修改和删除数据库记录 Google宣布了中文名 - 谷歌
尽量减少表单回送
Chris Chen · 2006-04-21 · via 博客园 - Chris Chen

  每当点击Web网页上的Button、LinkButton或ImageButton控件时,表单就会被发送到服务器上。如果控件的AutoPostBack属性被设置为true,如果CheckBox、CheckBoxList等控件的状态被改变后,也会使表单会发送回服务器。

  每次当表单被发送回服务器,就会被重新加载,启动Page_Load事件,执行Page_Load事件处理程序中的所有代码。把网页的初始化代码放在这里是最合适不过的了。我们经常会希望在每次加载网页时执行一些代码,而希望只有在网页第一次加载时执行另一些代码,甚至希望一些代码在除首次加载外的每次加载时执行。

  可以利用IsPostBack特性来完成这一功能。在网页第一次加载时,该属性的值是false。如果网页因回送而被重新加载,IsPostBack属性的值就会被设置为true。通过测试,可以在任意时候执行指定的代码。下面是相关的C#代码:
  protected void Page_Load(Object sender, EventArgs e)
  {

  // 网页每次加载时,执行的一些操作
        if (!IsPostBack)
       {

         // 网页第一次加载时执行的操作
        }
        else
       {
               // 回送时执行的操作
       } 
   
       // 网页每次加载时执行的操作
  }
  我们希望尽量不引起回送(每次回送都会要求服务器进行一系列的操作),即使引起回送后。也希望能够执行尽量少的操作。大规模、浪费时间的操作(例如数据库查找)尤其应当避免,因为它们能够延长应用程序的响应时间。