|
{
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。
首先我们来看看ASP.NET设计的Page Render到Client端的HTML是什么样子:
<!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>
<title>
Test Page
</title>
</head>
<body>
<form name=form1 method=post action=Default.aspx id=form1>
<div>
<input type=hidden name=__EVENTTARGET id=__EVENTTARGET value= />
<input type=hidden name=__EVENTARGUMENT id=__EVENTARGUMENT value= />
<input type=hidden name=__VIEWSTATE id=__VIEWSTATE value=/wEPDwUKMTA0NDQ2OTE5OWRk281L4eAk7iZT10hzg+BeOyoUWBQ= />
</div>

 <script type=text/javascript>
<!--
var theForm = document.forms[form1];
 if (!theForm) {
theForm = document.form1;
}
 function __doPostBack(eventTarget, eventArgument) {
 上一页 [1] [2] [3] [4] [5] 下一页
浅谈ASP.NET的Postback |