当前位置: 首页 > 编程日记 > 正文

避免到服务器的不必要的往返过程

虽然您很可能希望尽量多地使用 Web 窗体页框架的那些节省时间和代码的功能,但在某些情况下却不宜使用 ASP.NET 服务器控件和回发事件处理。
通常,只有在检索或存储数据时,您才需要启动到服务器的往返过程。多数数据操作可在这些往返过程间的客户端上进行。例如,从 HTML 窗体验证用户输入经常可在数据提交到服务器之前在客户端进行。通常,如果不需要将信息传递到服务器以将其存储在数据库中,那么您不应该编写导致往返过程的代码。

如果您开发自定义服务器控件,请考虑让它们为支持 ECMAScript 的浏览器呈现客户端代码。通过以这种方式使用服务器控件,您可以显著地减少信息被不必要的发送到 Web 服务器的次数。

使用 Page.IsPostBack 避免对往返过程执行不必要的处理

如果您编写处理服务器控件回发处理的代码,有时可能需要在首次请求页时执行其他代码,而不是当用户发送包含在该页中的 HTML 窗体时执行的代码。根据该页是否是响应服务器控件事件生成的,使用 Page.IsPostBack 属性有条件地执行代码。例如,下面的代码演示如何创建数据库连接和命令,该命令在首次请求该页时将数据绑定到 DataGrid 服务器控件。
[Visual Basic]
Sub Page_Load(sender As Object, e As EventArgs)
' Set up a connection and command here.
If Not (Page.IsPostBack)
Dim query As String = "select * from Authors where FirstName like '%JUSTIN%'"
myCommand.Fill(ds, "Authors")
myDataGrid.DataBind()
End If
End Sub

[C#]
void Page_Load(Object sender, EventArgs e) {
// Set up a connection and command here.
if (!Page.IsPostBack) {
String query = "select * from Authors where FirstName like '%JUSTIN%'";
myCommand.Fill(ds, "Authors");
myDataGrid.DataBind();
}
}

  由于每次请求时都执行 Page_Load 事件,上述代码检查 IsPostBack 属性是否设置为 false。如果是,则执行代码。如果该属性设置为 true,则不执行代码。

  注意 如果不运行这种检查,回发页的行为将不更改。Page_Load 事件的代码在执行服务器控件事件之前执行,但只有服务器控件事件的结果才可能在输出页上呈现。如果不运行该检查,仍将为 Page_Load 事件和该页上的任何服务器控件事件执行处理。

相关文章:

OPPO和微软合作,开放“召唤小冰”

6月24日,OPPO与微软共同宣布,OPPO手机智能助理Breeno语音开放“召唤小冰”能力一年之际,双方合作再次深化。微软小冰与OPPO Breeno团队加速合作,不断打造和更新更符合OPPO生态的AI技能,提升微软小冰在Breeno语音中的产…

如果你即将死去

如果你即将死去,你是否能够安息; 如果你即将死去,你是否还有事情不能放弃; 如果你即将死去,你的事业是否有人继续; 如果你即将死去,你的生平是否还有人惦记; 死亡是所有生命的终点&a…

设计模式(行为型模式)——备忘录模式(Memento)

2019独角兽企业重金招聘Python工程师标准>>> 本章讲讲第三类和第四类。 备忘录模式(Memento) 主要目的是保存一个对象的某个状态,以便在适当的时候恢复对象,个人觉得叫备份模式更形象些,通俗的讲下&#xf…

当你累了,准备放弃时,看看这个吧!!!

当你累了,准备放弃时,看看这个吧!!! 在朋友空间看到这篇文章,送给所有还在坚持的朋友~~每个人都背负着一个沉重的十字架,在缓慢而艰难地朝着目的地前进。途中,有一个人忽然停了下来。…

只在必要时保存服务器控件视图状态

自动视图状态管理是服务器控件的功能,该功能使服务器控件可以在往返过程上重新填充它们的属性值(您不需要编写任何代码)。但是,因为服务器控件的视图状态在隐藏的窗体字段中往返于服务器,所以该功能确实会对性能产生影…

超越英伟达的,不会是另一款GPU!中国公司发布首款数据流AI芯片

2020年6月23日,鲲云科技在深圳举行产品发布会,发布全球首款数据流AI芯片CAISA,定位于高性能AI推理,已完成量产。鲲云通过自主研发的数据流技术在芯片实测算力上实现了技术突破,较同类产品在芯片利用率上提升了最高11.6…

vim打开多窗口、多文件之间的切换

打开多个文件:一、vim还没有启动的时候:1.在终端里输入 vim file1 file2 ... filen便可以打开所有想要打开的文件2.vim已经启动输入:e file可以再打开一个文件,并且此时vim里会显示出file文件的内容。3.同时显示多个文件::sp …

图灵奖得主Judea Pearl:从“大数据革命”到“因果革命”

整理 | 智源社区,龚鹤扬&高亦斌2020年6月21日,在第二届北京智源大会开幕式及全体会议上,图灵奖得主、贝叶斯网络奠基人Judea Pearl 做了名为《The New Science of Cause and Effect with reflections on data science and artificial int…

美国两政府网站被挂马 以性丑闻女星为诱饵

据安全厂商趋势科技称,美国两个政府网站近日发现被挂木马,这两家被挂马的网站都是以性丑闻女性为诱饵欺骗用户访问其它恶意网页。  圣伯纳迪诺县的宣传页面被发现感染了恶意木马,用户访问该网站时被重定向到域名Videosdivx.net下的一个网站…

除非有特殊的原因要关闭缓冲,否则使其保持打开

禁用 Web 窗体页的缓冲会导致大量的性能开销。

[React Native Android安利系列]搭建React Native Android环境

欢迎大家收看react-native-android系列教程,跟着本系列教程学习,可以熟练掌握react-native-android的开发,你值得拥有https://segmentfault.com/blog... (PS,和聊一聊系列写在一起也实在是没辙, 谁知道如何新建专栏&am…

继承QTreeWidgetItem发生error: 'staticMetaObject' is not a member of 'QTreeWidgetItem' 错误

点击打开链接 #ifndef QQUSERITEM_H就发生下列错误 #define QQUSERITEM_H #include <QTreeWidgetItem> class QQUserItem :public QTreeWidgetItem { Q_OBJECT public: explicit QQUserItem(QQUserItem *parent 0); signals: public slots: }; #endif // QQUSERITEM_H d…

使用 HttpResponse.Write 方法进行字符串串联

该方法提供非常有效的缓冲和连接服务。但是&#xff0c;如果您正在执行广泛的连接&#xff0c;请使用多个 Response.Write 调用。下面示例中显示的技术比用对 Response.Write 方法的单个调用连接字符串更快。 [C#] Response.Write("a"); Response.Write(myString); …

倒计时 8 天 | 完整议程大揭秘!来 20 个 AI 论坛,与百名大咖携手玩转人工智能...

2020年7月3—4日&#xff0c;由 CSDN 主办的第三届 AI 开发者大会&#xff08;AI ProCon 2020&#xff09;&#xff08;大会官网&#xff1a;https://aiprocon.csdn.net/&#xff09;将以线上直播的形式与大家相见。本次大会历时2天&#xff0c;一次性设立6大主题、20大精彩分论…

关于分页的解决方案收集

分页的html样式&#xff0c;可分为两种&#xff0c;pc和移动端 pc端的解决方案&#xff08;既有json版本又有get参数版本&#xff09;&#xff1a; http://laypage.layui.com/ 移动端的上拉刷新&#xff0c;下拉加载解决方案&#xff1a;(个人建议还是老实用会iscroll.js吧) ht…

MVC3+EF4.1学习系列(一)-------创建EF4.1 code first的第一个实例(强转)

文章索引和简介 基于EF4.1 code first 简单的CRUD 园子中已经有很多了 ~~ 真不想再写这个了 可是为了做一个完整的小demo 从开始 到后面的一些简单重构 还是决定认真把这个写出来 争取写些别人没写到的东西~~ 好了 开始~~ 这次要做的是个学校管理的demo&#xff08;通俗些&…

超越英伟达的,不会是另一款GPU?这家深圳公司发布全球首款数据流AI芯片

2020年6月23日&#xff0c;鲲云科技在深圳举行产品发布会&#xff0c;发布全球首款数据流AI芯片CAISA&#xff0c;定位于高性能AI推理&#xff0c;已完成量产。鲲云通过自主研发的数据流技术在芯片实测算力上实现了技术突破&#xff0c;较同类产品在芯片利用率上提升了最高11.6…

不要依赖代码中的异常

因为异常大大地降低性能&#xff0c;所以您不应该将它们用作控制正常程序流程的方式。如果有可能检测到代码中可能导致异常的状态&#xff0c;请执行这种操作。不要在处理该状态之前捕获异常本身。常见的方案包括&#xff1a;检查 null&#xff0c;分配给将分析为数字值的 Stri…

MySQL5.7配置日志

之前使用MySQL 5.1版本的时候&#xff0c;修改my.cnf&#xff0c;在[mysqld]下添加"log/data/mysql/query.log"&#xff0c;重启服务就ok了 但是在5.7会出现 Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).原因是5.7…

Linux下新增硬盘处理过程

1、Linux的硬盘识别  在/dev/下建立相应的设备文件。如  sda 表示第一块SCSI硬盘  hda 表示第一块IDE硬盘&#xff08;即连接在第一个IDE接口的Master口上&#xff09;  scd0 表示第一个USB光驱  通过fdisk -l 查看当前的设备和分区信息。注意&#xff0c;新硬盘没有…

FastSpeech语音合成系统技术升级,微软联合浙大提出FastSpeech2

来源 | 微软研究院AI头条&#xff08;ID: MSRAsia&#xff09;编者按&#xff1a;基于深度学习的端到端语音合成技术进展显著&#xff0c;但经典自回归模型存在生成速度慢、稳定性和可控性差的问题。去年&#xff0c;微软亚洲研究院和微软 Azure 语音团队联合浙江大学提出了快速…

如果有大型 Web 应用程序,可考虑执行预批编译

每当发生对目录的第一次请求时都会执行批编译。如果目录中的页面没有被分析并编译&#xff0c;此功能会成批分析并编译目录中的所有页面&#xff0c;以便更好地利用磁盘和内存。如果这需要很长时间&#xff0c;则将快速分析并编译单个页面&#xff0c;以便请求能被处理。此功能…

深入理解javascript函数系列第二篇——函数参数

前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同。函数不介意传递进来多少个参数&#xff0c;也不在乎传进来的参数是什么数据类型&#xff0c;甚至可以不传参数。本文是深入理解javascript函数系列第二篇——函数参数 arguments javascript中的函数定义并…

linux下如何查看某个软件 是否安装??? 安装路径在哪???

<1>.在linux下如何判断是否已经安装某个软件&#xff1f; 我的系统是red hat我用命令rpm查是否安装了某个软件&#xff08;例如&#xff1a; matlab 与 fluent &#xff09;&#xff0c;得到了如下的结果&#xff1a;我用rpm -qa &#xff08;| grep&#xff09; matlab …

适当地使用公共语言运行库的垃圾回收器和自动内存管理

小心不要给每个请求分配过多内存&#xff0c;因为这样垃圾回收器将必须更频繁地进行更多的工作。另外&#xff0c;不要让不必要的指针指向对象&#xff0c;因为它们将使对象保持活动状态&#xff0c;并且应尽量避免含 Finalize 方法的对象&#xff0c;因为它们在后面会导致更多…

AI又进阶!除了鉴别PS图片,还能一键卸妆

作者 | 马超编辑 | 伍杏玲封图 | 视觉中国出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;最近CVPR2020的论文集合在GitHub火了&#xff0c;CVPR2020-Paper- Code 的项目&#xff08;https://github.com/extreme-assistant/CVPR2020-Paper-Code-Interpretation&#…

[转]Git忽略规则及.gitignore规则不生效的解决办法

在git中如果想忽略掉某个文件&#xff0c;不让这个文件提交到版本库中&#xff0c;可以使用修改根目录中 .gitignore 文件的方法&#xff08;如无&#xff0c;则需自己手工建立此文件&#xff09;。这个文件每一行保存了一个匹配的规则例如&#xff1a; # 此为注释 – 将被 Git…

改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions)

系列博客 1. 改善代码设计 —— 优化函数的构成(Composing Methods) 2. 改善代码设计 —— 优化物件之间的特性(Moving Features Between Objects) 3. 改善代码设计 —— 组织好你的数据(Composing Data) 4. 改善代码设计 —— 简化条件表达式(Simplifying Conditional Express…

必要时调整应用程序每个辅助进程的线程数

ASP.NET 的请求结构试图在执行请求的线程数和可用资源之间达到一种平衡。已知一个使用足够 CPU 功率的应用程序&#xff0c;该结构将根据可用于请求的 CPU 功率&#xff0c;来决定允许同时执行的请求数。这项技术称作线程门控。但是在某些条件下&#xff0c;线程门控算法不是很…

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug

文/ 朱雪妍据博思数据发布的《2018-2023年中国嵌入式软件行业市场发展现状调研与投资趋势前景分析报告》表明&#xff1a;2018年上半年我国嵌入式系统软件收入达4240.2亿元&#xff0c;累计增长6.6%&#xff0c;并将持续保持高速增长。嵌入式系统是当前最热门、最具发展前途的I…