100165681.htm
来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 952 行 · 第 1/5 页
HTM
952 行
<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US> </span></p>
<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
<form id="Form1" method="post"
Runat="server"></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
<asp:Label Runat="server"
ID="resultLabel"/><br></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
<asp:Button Runat="server" ID="triggerButton"
Text="Click Me"/></span></p>
<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
</form></span></p>
<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
</body></span></p>
<p class=a6 style='margin-top:0cm;margin-right:0cm;FTEL:8.15pt;
margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US></html></span></p>
<p class=MsoNormal><span style='font-family:宋体'>这里添加了两个</span><span lang=EN-US>Web</span><span
style='font-family:宋体'>窗体控件:标签和按钮。</span></p>
<p class=MsoNormal><span style='font-family:宋体'>回过头来看看设计屏幕,其中已经添加了控件,并用它们的</span><span
lang=EN-US>ID</span><span style='font-family:宋体'>属性命名。与</span><span lang=EN-US>Windows</span><span
style='font-family:宋体'>窗体一样,可以通过</span><span lang=EN-US>Properties</span><span
style='font-family:宋体'>窗口访问所有的属性、事件等,如果进行了修改,代码或设计会立即进行反馈。</span></p>
<p class=MsoNormal><span style='font-family:宋体'>接着,查看一下</span><span lang=EN-US>WebForm1.aspx.cs</span><span
style='font-family:宋体'>。下面两个成员添加到</span><span lang=EN-US>WebForm1</span><span
style='font-family:宋体'>类中:</span></p>
<p class=2 style='margin-top:8.15pt;margin-right:0cm;FTEL:0cm;
margin-left:21.45pt;FTEL:.0001pt;FTEL:18.45pt'><span
lang=EN-US> protected
System.Web.UI.WebControls.Button triggerButton;</span></p>
<p class=2 style='margin-top:0cm;margin-right:0cm;FTEL:8.15pt;
margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US> protected
System.Web.UI.WebControls.Label resultLabel;</span></p>
<p class=MsoNormal><span style='font-family:宋体'>我们添加的所有服务器控件都会自动成为对象模型的一部分,该对象模型是在这段后置代码中为窗体构建的。</span><span
lang=EN-US>Windows</span><span style='font-family:宋体'>窗体开发人员可以即时得到这个对象模型,并开始认识到它与</span><span
lang=EN-US>Windows</span><span style='font-family:宋体'>窗体的类似性。</span></p>
<p class=MsoNormal><span style='font-family:宋体'>要让这个应用程序完成一些工作,应添加单击按钮的事件处理程序。可以在</span><span
lang=EN-US>Properties</span><span style='font-family:宋体'>窗口中为按钮输入一个方法名,也可以双击该按钮,得到默认的事件处理程序。如果双击按钮,就可以自动添加一个事件处理方法:</span></p>
<p class=2 style='margin-top:8.15pt;margin-right:0cm;FTEL:0cm;
margin-left:21.45pt;FTEL:.0001pt;FTEL:18.45pt'><span
lang=EN-US> private void triggerButton</span><span
lang=EN-US style='font-family:"Baskerville BE Regular"'>_</span><span
lang=EN-US>Click(object sender, System.EventArgs e)</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
{</span></p>
<p class=2 style='margin-top:0cm;margin-right:0cm;FTEL:8.15pt;
margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
}</span></p>
<p class=MsoNormal><span style='font-family:宋体'>把一些代码添加到</span><span
lang=EN-US>InitializeComponent()</span><span style='font-family:宋体'>中,就可以把事件处理程序链接到按钮上:</span></p>
<p class=a6 style='margin-top:8.15pt;margin-right:0cm;FTEL:0cm;
margin-left:21.45pt;FTEL:.0001pt;FTEL:18.45pt'><span
lang=EN-US> private void InitializeComponent()</span></p>
<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
{</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
this.triggerButton.Click +=</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
new System.EventHandler(this.triggerButton</span><span lang=EN-US
style='font-family:"Baskerville BE Regular"'>_</span><span lang=EN-US>Click);</span></p>
<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
this.Load += new System.EventHandler(this.Page</span><span lang=EN-US
style='font-family:"Baskerville BE Regular"'>_</span><span lang=EN-US>Load);</span></p>
<p class=a6 style='margin-top:0cm;margin-right:0cm;FTEL:8.15pt;
margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
}</span></p>
<p class=MsoNormal><span style='font-family:宋体'>修改</span><span lang=EN-US>triggerButton_Click()</span><span
style='font-family:宋体'>中的代码:</span></p>
<p class=a6 style='margin-top:8.15pt;margin-right:0cm;FTEL:0cm;
margin-left:21.45pt;FTEL:.0001pt;FTEL:18.45pt'><span
lang=EN-US> protected void triggerButton</span><span
lang=EN-US style='font-family:"Baskerville BE Regular"'>_</span><span
lang=EN-US>Click(object sender, System.EventArgs e)</span></p>
<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
{</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
resultLabel.Text = "Button clicked!";</span></p>
<p class=a6 style='margin-top:0cm;margin-right:0cm;FTEL:8.15pt;
margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
}</span></p>
<p class=MsoNormal><span style='font-family:宋体'>下面准备运行它。在</span><span
lang=EN-US>VS.NET</span><span style='font-family:宋体'>中以正常方式建立应用程序,编译所有的文件,并把它们放在</span><span
lang=EN-US>Web</span><span style='font-family:宋体'>服务器上,以备使用。测试这个</span><span
lang=EN-US>Web</span><span style='font-family:宋体'>应用程序时,可以运行它</span><span
lang=EN-US>(</span><span style='font-family:宋体'>充分利用</span><span lang=EN-US>VS.NET</span><span
style='font-family:宋体'>调试功能</span><span lang=EN-US>)</span><span
style='font-family:宋体'>,或者在</span><span lang=EN-US>http://localhost/PCSWebApp1/WebForm1.aspx</span><span
style='font-family:宋体'>上打开一个浏览器,这两种方式都会在</span><span lang=EN-US>Web</span><span
style='font-family:宋体'>页面上显示一个</span><span lang=EN-US>Click Me</span><span
style='font-family:宋体'>按钮。在单击这个按钮前,使用</span><span lang=EN-US>View | Source (</span><span
style='font-family:宋体'>在</span><span lang=EN-US>IE</span><span
style='font-family:宋体'>中</span><span lang=EN-US>)</span><span style='font-family:
宋体'>快速查看一下浏览器接收到的代码。</span><span lang=EN-US><form></span><span
style='font-family:宋体'>部分应如下所示:</span></p>
<p class=2 style='margin-top:8.15pt;margin-right:0cm;FTEL:0cm;
margin-left:21.45pt;FTEL:.0001pt;FTEL:18.45pt'><span
lang=EN-US> <form FTEL="Form1"
method="post" action="WebForm1.aspx"
id="Form1"></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
<input type="hidden" FTEL="</span><span lang=EN-US
style='font-family:"Baskerville BE Regular"'>__</span><span lang=EN-US>VIEWSTATE"
value="dDwtOTk1MjE0NDA4Ozs+" /></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
<span id="resultLabel"></span><br></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
<input type="submit" FTEL="triggerButton"
value="Click Me"</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
id="triggerButton" /></span></p>
<p class=2 style='margin-top:0cm;margin-right:0cm;FTEL:8.15pt;
margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
</form></span></p>
<p class=MsoNormal><span lang=EN-US>Web</span><span style='font-family:宋体'>服务器控件生成了</span><span
lang=EN-US>HTML</span><span style='font-family:宋体'>,</span><span lang=EN-US><span></span><span
style='font-family:宋体'>和</span><span lang=EN-US><input></span><span
style='font-family:宋体'>分别代表</span><span lang=EN-US><asp:Label></span><span
style='font-family:宋体'>和</span><span lang=EN-US><asp:Button></span><span
style='font-family:宋体'>。还有一个名为</span><span lang=EN-US>__VIEWSTATE</span><span
style='font-family:宋体'>的</span><span lang=EN-US><input type=''hidden''></span><span
style='font-family:宋体'>字段,把前面提到的窗体状态封装起来。在窗体传送回服务器以重新创建</span><span lang=EN-US>UI</span><span
style='font-family:宋体'>,同时跟踪改变时使用这些信息。注意</span><span lang=EN-US><form></span><span
style='font-family:宋体'>元素已经进行了配置,通过</span><span lang=EN-US>HTTP POST</span><span
style='font-family:宋体'>操作</span><span lang=EN-US>(</span><span
style='font-family:宋体'>在</span><span lang=EN-US>method</span><span
style='font-family:宋体'>中指定</span><span lang=EN-US>)</span><span
style='font-family:宋体'>把数据传送回</span><span lang=EN-US>WebForm1.aspx(</span><span
style='font-family:宋体'>在</span><span lang=EN-US>action</span><span
style='font-family:宋体'>中指定</span><span lang=EN-US>)</span><span
style='font-family:宋体'>,它还被赋予了一个名称</span><span lang=EN-US>Form1</span><span
style='font-family:宋体'>。</span></p>
<p class=MsoNormal><span style='font-family:宋体'>在单击按钮,查看文本后,可再次浏览源</span><span
lang=EN-US>HTML(</span><span style='font-family:宋体'>下面添加了必要的空格,使代码比较清晰</span><span
lang=EN-US>)</span><span style='font-family:宋体'>:</span></p>
<p class=2 style='margin-top:8.15pt;margin-right:0cm;FTEL:0cm;
margin-left:21.45pt;FTEL:.0001pt;FTEL:18.45pt'><span
lang=EN-US> <form FTEL="Form1"
method="post" action="WebForm1.aspx"
id="Form1"></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
<input type="hidden" FTEL="</span><span lang=EN-US
style='font-family:"Baskerville BE Regular"'>__</span><span lang=EN-US>VIEWSTATE"</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
value="dDwtOTk1MjE0NDA4O3Q8O2w8aTwxPjs+O2w8dDw7bDxpPDE+Oz47bD</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
x0PHA8cDxsPFRleHQ7PjtsPEJ1dHRvbiBjbGlja2VkITs+Pjs+Ozs+</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
Oz4+Oz4+Oz4=" /></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?