ASP.NET Postback的Web Page生命周期

开发 后端
本文介绍ASP.NET Postback,就得说Web Page生命周期,但是Web Page生命周期却不是三言两语就能够说得清楚的,所以在这里单纯站的编程的角度,撇开Web Page生命周期浅谈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:

  1. <%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.
    aspx.cs"
    Inherits="_Default"%> 
  2. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
    > 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  4. <headrunatheadrunat="server"> 
  5. <title>TestPage</title> 
  6. </head> 
  7. <body> 
  8. <formidformid="form1"runat="server"> 
  9. <div> 
  10. <asp:Labelrunatasp:Labelrunat="server"ID="LabelMessage"ForeColor="red"></asp:Label> 
  11. </div> 
  12. <div> 
  13. <asp:Buttonrunatasp:Buttonrunat="server"ID="Button1"Text="Button1"OnClick=
    "Button1_Click"
    OnCommand="Button_Command"CommandArgument="Button1"/> 
  14. <asp:Buttonrunatasp:Buttonrunat="server"ID="Button2"Text="Button2"OnClick=
    "Button2_Click"
    OnCommand="Button_Command"CommandArgument="Button2"UseSubmitBehavior="false"/> 
  15. <asp:Buttonrunatasp:Buttonrunat="server"ID="Button3"Text="Button3"OnClick=
    "Button3_Click"
    OnCommand="Button_Command"CommandArgument="Button3"UseSubmitBehavior="false"/> 
  16. </div> 
  17. </form> 
  18. </body> 
  19. </html> 

很简单,定义了3个Button,分别注册了他们的两个Event:Click和Command。3个Button的Command Event Hander是一样的:Button_Command,通过指定的CommandArgument来让Event Handler判断到底是哪个Button触发了Command  Event。

下面是Code Behind:

  1. usingSystem;  
  2. usingSystem.Data;  
  3. usingSystem.Configuration;  
  4. usingSystem.Web;  
  5. usingSystem.Web.Security;  
  6. usingSystem.Web.UI;  
  7. usingSystem.Web.UI.WebControls;  
  8. usingSystem.Web.UI.WebControls.WebParts;  
  9. usingSystem.Web.UI.HtmlControls;  
  10.  
  11. publicpartialclass_Default:System.Web.UI.Page  
  12. {  
  13.  
  14. protectedvoidPage_Load(objectsender,EventArgse)  
  15. {  
  16.  
  17. }  
  18. protectedvoidButton1_Click(objectsender,EventArgse)  
  19. {  
  20. stringstringmessage=string.Format("The{0}eventof{1}isfired","Click","Button1");  
  21. this.LabelMessage.Text=message;  
  22. }  
  23. protectedvoidButton2_Click(objectsender,EventArgse)  
  24. {  
  25. stringstringmessage=string.Format("The{0}eventof{1}isfired","Click","Button2");  
  26. this.LabelMessage.Text=message;  
  27. }  
  28. protectedvoidButton3_Click(objectsender,EventArgse)  
  29. {  
  30. stringstringmessage=string.Format("The{0}eventof{1}isfired","Click","Button3");  
  31. this.LabelMessage.Text=message;  
  32. }  
  33.  
  34. protectedvoidButton_Command(objectsender,CommandEventArgse)  
  35. {  
  36. stringstringmessage=string.Format("The{0}eventof{1}isfired",
    "Command",e.CommandArgument);  
  37. this.LabelMessage.Text+=";"+message;  
  38. }  
  39. }  

以上介绍ASP.NET Postback的Web Page生命周期.

【编辑推荐】

  1. 微软发布ASP.NET MVC 2预览版 多项功能更新
  2. ASP.NET服务器自定义控件安全准则
  3. ASP.NET编程规范之编码规范浅析
  4. 关于ASP.NET Session的一点认识
  5. ASP.NET编程工具ASP.NET Web Matrix详细介绍
责任编辑:佚名 来源: IT168
相关推荐

2009-07-23 10:23:44

2009-07-20 10:33:02

ASP.NET MVC

2009-07-23 18:14:17

MVC生命周期

2013-04-07 10:42:56

Asp.Net页面周期

2009-08-04 16:05:15

ASP.NET页面生命

2009-08-04 16:50:15

ASP.NET页面生命

2009-07-31 10:47:18

ASP.NET页面生命

2009-08-10 14:31:46

ASP.NET组件设计ASP.NET控件生命

2009-08-03 14:18:40

ASP.NET编程模型ASP.NET页面生命

2009-02-12 13:16:55

请求生命周期MVCASP.NET

2009-07-28 09:46:53

ASP.NET服务器控

2012-08-16 09:38:38

ASP.NET

2009-07-23 18:55:17

ASP.NET页生命周

2011-06-21 10:26:37

2009-07-31 17:53:39

ASP.NET线程安全

2021-04-26 09:22:07

ASP.NET Cor服务周期

2010-04-02 09:02:02

ASP.NET MVC

2009-08-04 17:20:37

PostBack和ViASP.NET

2009-08-03 14:37:38

ASP.NET编程模型页面生命周期

2009-07-27 13:25:15

Postback程序处ASP.NET
点赞
收藏

51CTO技术栈公众号