[转载]浅谈ASP.NET的Postback

说道ASP.NET的Postback,就得说Web Page的生命周期,但是Web Page的生命周期却不是三言两语就能够说得清楚的,所以在这里单纯站的编程的角度,撇开Web Page 的生命周期浅谈Postback。

我们知道,无论是ASP.NET1.x,2.0,甚至是以后的版本,ASP.NET最终Render到Client端通过浏览器浏览的都是一样:一个单纯的HTML。Client通过Submit Form的方式将填入Form的数据提交给Server进行处理。我们现在来看看ASP.NET整个Postback程序处理的过程。

首先我们通过一个Sample来看ASP.NET如何处理一个通过Click一个Button引起的Postback。下面是Web Page的HTML:

<@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title>Test Page</title>
</head>
<body>
    
<form id="form1" runat="server">
        
<div>
            
<asp:Label runat="server" ID="LabelMessage" ForeColor="red"></asp:Label>
        
</div>
        
<div>
            
<asp:Button runat="server" ID="Button1" Text="Button1" OnClick="Button1_Click" OnCommand="Button_Command"      CommandArgument="Button1" />
            
<asp:Button runat="server" ID="Button2" Text="Button2" OnClick="Button2_Click" OnCommand="Button_Command"     CommandArgument="Button2" UseSubmitBehavior="false" />
            
<asp:Button runat="server" ID="Button3" Text="Button3" OnClick="Button3_Click" OnCommand="Button_Command"     CommandArgument="Button3" UseSubmitBehavior="false" />
        
</div>
    
</form>
</body>
</html>
很简单,定义了3个Button,分别注册了他们的两个Event:Click和Command。3个Button的Command Event Hander是一样的:Button_Command,通过指定的CommandArgument来让Event Handler判断到底是哪个Button触发了Command Event。

下面是Code Behind:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{  

    
protected void Page_Load(object sender, EventArgs e)
    
{
       
     }

    
protected void Button1_Click(object sender, EventArgs e)
    
{
        
string message = string.Format("The {0} event of {1} is fired", "Click", "Button1");
        
this.LabelMessage.Text = message;
     }

    
protected void Button2_Click(object sender, EventArgs e)
    
{
        
string message = string.Format("The {0} event of {1} is fired", "Click", "Button2");
        
this.LabelMessage.Text = message;
     }

    
protected void Button3_Click(object sender, EventArgs e)
    
{
        
string message = string.Format("The {0} event of {1} is fired", "Click", "Button3");
        
this.LabelMessage.Text = message;
     }


    
protected void Button_Command(object sender, CommandEventArgs e)
    
{
        
string message = string.Format("The {0} event of {1} is fired", "Command", e.CommandArgument);
        
this.LabelMessage.Text += "; " + message;
     }

}

我们来运行这个Page,并Click某个按钮(比如Button2):


我们通过最上方的Message可以看出,Button2的Click Event和Command先后触发。

这篇Blog的主旨就是从方法调用的角度讲述整个程序运行的过程:从HTML 被Render到Client端,到用户Click某个按钮,输入被Postback到Server端,并触发两个Event,执行Event Handler打印出相关的Message。

转载于:https://www.cnblogs.com/tling091223/archive/2009/12/24/1631229.html

STM32学习笔记 二、基于STM32F103C8T6和STM32CubeMX实现UART串口通信数据收发 系列文章目录 一、基于STM32F103C8T6最小系统板和STM32CubeMX实现LED灯循环闪烁 文章目录系列文章目录前言一、配置CubeMX二、逻辑代码部分 前言 这次我用的板子是一个用STM32F103C8T6作为主控芯片的一个数据采集卡,两个LED灯连接的引脚是PB3与PB4,TX与RX引脚分别是PA9和PA10。 一、配置CubeMX 1、新建工程; 2、配置时钟源,在RCC里面的HSE配置的是晶振时钟; 3、配置程序烧录引脚SYS为SWD模式; 4、配置GPIO口,配置一个LE 阅读详情

相关推荐

Frida实战:如何用HashMap.put拦截法快速定位安卓App加密参数(附完整脚本)

本文详细介绍了如何使用Frida拦截HashMap.put方法快速定位安卓App加密参数,提供完整脚本和实战案例。通过动态分析技术,相比传统静态分析大幅提升效率,适用于电商、社交、金融等场景的加密参数定位。

jump7的博客 261

[ASP.NET]从ASP.NET Postback机制,到POST/GET方法

[ASP.NET]从ASP.NET Postback机制,到POST/GET方法 写这篇博客的起源来自于自己最近在学习ASP.NET时对于 PostBack机制的困惑。因为自己在解决困惑地同时,会不断产生新的疑问,因此博客最后深入到了http 包的格式和Internet所使用的TCP/IP模型,算是来了一堂基础复习课。但我相信这些基础的牢固性,会影响到web方向的深入学习,因此整

qq_37199468的博客 880

systemView的安装使用

systemView的安装使用

qq_33712422的博客 3974

[原创]浅谈ASP.NET的Postback

说道ASP.NET的Postback,就得说Web Page的生命周期,但是Web Page的生命周期却不是三言两语就能够说得清楚的,所以在这里单纯站的编程的角度,撇开Web Page 的生命周期浅谈Postback。我们知道,无论是ASP.NET1.x,2.0,甚至是以后的版本,ASP.NET最终Render到Client端通过浏览器浏览的都是一样:一个单纯的HTML。Client

artech的专栏 690

从零上手SKILL脚本:在Virtuoso中实现版图绘制自动化

本文详细介绍了如何使用SKILL脚本在Virtuoso中实现版图绘制自动化,从基础操作到高级技巧全面覆盖。通过抓取操作日志、转换交互式函数为程序式函数,以及核心函数深度解析,帮助读者快速掌握SKILL脚本编程,大幅提升版图设计效率。文章还提供了实际工程应用案例和调试优化技巧,适合从零开始的初学者。

weixin_28742653的博客 764

MiniMax H3本地部署实战:ComfyUI整合包安装与提速插件验证指南

在AIGC工具链快速演进的当下,本地部署内容生成模型成为许多创作者和开发者的关注焦点。本地部署意味着数据不出本机、可按需定制工作流,还能规避云端排队与外部依赖,其核心价值在于为内容生产提供可控、私密且可编程的生成环境。ComfyUI作为模块化节点式AI绘画工具,凭借灵活的工作流编排和API接口能力,成为承载这类模型的热门平台。MiniMax H3作为支持文本、参考图等多种输入的内容生成模型,与ComfyUI结合后,既适合个人进行概念验证,也能用于团队私有化流程搭建。实际落地过程中,中文整合包显著降低了环境配

weixin_29042035的博客 296

再认识asp.net的postback机制:探索__doPostBack的来龙去脉

__doPostBack作为在asp.net中一个很重要的部分,有必要深入了解一下__doPostBack的来龙去脉的.其实,__doPostBack是一个很简单的JS function.代码如下: __doPostBack<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /&gt...

406

Open3D DBSCAN聚类

DBSCAN算法做为一种有名的密度聚类算法,它是通过邻域参数(Distance,MinPts)来刻画样本分布的紧密程度。而在真正开始之前,首先要理解下面这几个概念:更为具体的内容也可参考这篇文章点云DBSCAN聚类算法。...

dayuhaitang1的博客 1798

ASP.NET 2.0 PostBack请求后保持页面滚动条的位置

    今天录入数据的同事给我提了个需求,说拉下来的滚动条,点击完复选框能不能保守它的位置;    于是我g.cn了一下,果然有好心人帮我解决了这个问题,方法如下:    只需要在aspx页面的顶端部分中加入MaintainScrollPositionOnPostback="true"就可以了    我于是举一反三出下面对全部页面的设置,这里也和大家分享一下:    当然也可以在配

松子儿的专栏 1465

uniapp - [全端兼容] 实现精美Editor富文本编辑器功能,uniApp全平台兼容的富文本插件组件用户可上传图片及对接服务器存储文件等,手机移动端H5网页富文本/小程序富文本/App富文本!

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,uniapp富文本编辑器,uniapp中如何实现各平台都兼容的富文本编辑器,Editor富文本插件,uniApp微信小程序富文本,UNI-APP安卓苹果ios系统App端富文本组件,editor富文本编辑器如何实现上传图片,图片上传后不显示怎么办,如何配置图像上传功能,富文本图片上传怎么传到服务器中,获取图片路径,editor插入图片,富文本编辑器上传图片,报错怎么办,跨域CORS处理,配置不行无效

🏆 前端领域优质创作者 1万+

36、真核生物RNA PolII启动子预测相关研究

本文综述了真核生物RNA聚合酶II启动子预测的研究进展,涵盖转录调控机制、核心启动子元件(如TATA框、INR、GC框)、转录因子结合位点预测的挑战与方法。介绍了基于权重矩阵、神经网络和隐马尔可夫模型等多种启动子预测算法,并探讨了启动子分类策略及评分加权方法。通过Hertz-Stormo-Hartzell流程和基因微阵列分析实例,展示了如何识别保守调控序列。文章还总结了当前预测技术的局限性,提出了整合多组学数据、开发深度学习模型、加强实验验证等未来研究方向,旨在提升启动子识别的准确性与生物学意义。

palm99的专栏 187

浅谈ASP.NET的Postback(转载)

说道ASP.NET的Postback,就得说Web Page的生命周期,但是Web Page的生命周期却不是三言两语就能够说得清楚的,所以在这里单纯站的编程的角度,撇开Web Page 的生命周期浅谈Postback。 我们知道,无论是 ASP.NET1.x,2.0,甚至是以后的版本,ASP.NET最终Render到Client端通过浏览器浏览的都是一样:一个单纯的HTML。 Client通过Su...

weixin_34226182的博客 117

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Invalid postback or callback argument问题解决方法

调试net程序时有时会遇到下面的问题:Invalid postback or callback argument.  Event validation is enabled using enableEventValidation="true"/> in configuration or in a page.  For security purposes, this feature v

tuzi_xz的专栏 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ASP.NET中PostBack和ViewState

ASP.NET中PostBack和ViewState 关于PostBack,我曾经也写过一篇博客《深入理解doPostBack》。在这篇文章里有对PostBack进行了一些研究,现在看来研究的还是不够深入。不过从原理上来说,ASP.NET WebForm中的一般WEB控件(为什么是一般呢?因为如Button等少数控件不是调用doPostBack方法的)在...

weixin_34400525的博客 163

Forcing a Postback using ASP.Net and JavaScript.

The original author of the artical was Mathew Nolton. I am in the process of putting together an article forhow to write arelatively uniquecustom control. During its writing, I had to force a...

donggan0667的博客 145

asp.net页面回传与js调用服务端事件、PostBack的原理详解

今天在网上看到一篇写的不错的关于asp.net页面回传与js调用服务端事件、PostBack的原理的文章。因此转载了一下 为了尊重作者的劳动成果,特意标明出处.http://www.mscto.com/dotnet/2008121118408.html# 以下是正文: Asp.net中服务端控件事件是如何触发的 Asp.net 中在客户端触发服务器端事件分为两种情况: 一. WebC...

weixin_30797027的博客 336

PostBack(AutoPostBack , IsPostBack) 与CallBack

ASP.NET AutoPostBack 属性为理解AutoPostBack ,我们需要知道,什么是PostBack。   那么,什么是AutoPostBack , Autopostback是一种机制(自动根据Web控件的一些事件,将页面自动发回服务器。在一些Web控件中,称为auto post back属性。如果设置为true ,当此控件的某事件发生时,将发送一个request到服务器。  

dengxingbo的专栏 2301

Asp.net 在 Postback 之后 执行 javascript 方法

主要介绍如下三种方式,分别表现在3个Button的Click事件中,代码如下: 前台: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RunJSFunctionAfterPostBack.aspx.cs" Inherits="EricSunWebAppProject.RunJSFunctionAfterPostBa...

weixin_30569153的博客 181

ASP.NET WebForm Best Practice 之PostBack

关于PostBack,我曾经也写过一篇博客《深入理解 __doPostBack》。在这篇文章里有对PostBack进行了一些研究,现在看来研究的还是不够深入。不过从原理上来说,ASP.NET WebForm中的一般WEB控件(为什么是一般呢?因为如Button等少数控件不是调用__doPostBack方法的)在向服务器回发请求时,调用的就是__doPostBack方法,通过表单提交的方式来向服务器...

weixin_30662849的博客 59

Asp.Net Ajax 之 取消异步PostBack( 一 )

asp.net的AJAX在一段时间内可以执行最多一次异步postback。如果用户启动第二postback时,它会自动中止先前的要求,并开始一个新的异步postback。如果你不想这样,你可以放个取消按钮来控制现有的网页要求: 结束! 转载于:https://www.cnblogs.com/jaic-xiao/archive/2008/05/19/1202306.h...

weixin_30622107的博客 83

How to intercept any postback in a page? - ASP.NET

How to intercept any postback in a page? - ASP.NET There's a couple of things you can do to intercept a postback on the client. The __doPostBack function looks like this: function __doPostBack(ev...

weixin_30847271的博客 99

客户端触发Asp.net中服务端控件事件

__doPostBack

我的地盘 2660

[Invalid postback or callback argument]昨晚调试程序时出现的问题,MARK一下

[Invalid postback or callback argument]昨晚调试程序时出现的问题,MARK一下 错误信息如下: Invalidpostbackorcallbackargument.Eventvalidationisena...

weixin_30384031的博客 204

asp.net "callback" 和 "postback" 的区别.

  下图解释了基于 asp.net的 "postback" 和 "callback"的生命周期:   Postback 是在将 整个页面的数据 从 client 提交到 server 的时候发生.此时我们说 'data is posted-back to the server'.所以整个页面会刷新.   Callback 是 Postback 的另一种形式.是将 少量数据提交到服务器,并返...

weixin_30388677的博客 139
上一篇: Postback和Response.Redirect的区别
下一篇: 浅谈ASP.NET的Postback 2
Java11257
博客等级 码龄12年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值