100165680.htm
来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 527 行 · 第 1/3 页
HTM
527 行
<p class=1 style='margin-left:37.55pt;FTEL:-16.1pt'><span lang=EN-US>●<span
style='font:7.0pt "Times New Roman"'> </span></span><span
lang=EN-US>WebForm1.aspx</span><span style='font-family:宋体;letter-spacing:-1.0pt'>——</span><span
style='letter-spacing:-1.0pt'> </span><span lang=EN-US>Web</span><span
style='font-family:宋体'>应用程序中的第一个</span><span lang=EN-US>ASP.NET</span><span
style='font-family:宋体'>页面</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>.aspx</span><span style='font-family:宋体'>文件。</span></p>
<p class=MsoNormal><a FTEL=aspx1><span style='font-family:宋体'>可以在设计视图或代码视图</span><span
lang=EN-US>(</span></a><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><span lang=EN-US>.aspx</span><span
style='font-family:宋体'>文件。这与</span><span lang=EN-US>Windows </span><span
style='font-family:宋体'>窗体完全相同。</span><span lang=EN-US>VS.NET</span><span
style='font-family:宋体'>中的起始视图是设计视图,如图</span><span lang=EN-US>25-3</span><span
style='font-family:宋体'>所示。</span></p>
<p align=center><span lang=EN-US><img width=447 height=411
src="25/image004.jpg"></span></p>
<p align=center style='FTEL:8.15pt'><span style='font-family:宋体'>图</span><span
lang=EN-US> 25-3</span></p>
<p class=MsoNormal><span style='font-family:宋体;letter-spacing:-.1pt'>该视图中的文本在默认情况下不是我们在应用程序中看到的文本,而是</span><span
lang=EN-US style='letter-spacing:-.1pt'>VS.NET</span><span style='font-family:
宋体;letter-spacing:-.1pt'>中的一个注释,说明使用什么布局模式。这里使用</span><span lang=EN-US
style='letter-spacing:-.1pt'>GridLayout</span><span style='font-family:宋体;
letter-spacing:-.1pt'>模式,这样在控件的定位上就有很大的灵活性,如果需要传统的</span><span lang=EN-US
style='letter-spacing:-.1pt'>HTML</span><span style='font-family:宋体;letter-spacing:
-.1pt'>类型的定位模式,可以改为</span><span lang=EN-US style='letter-spacing:-.1pt'>FlowLayout
</span><span style='font-family:宋体;letter-spacing:-.1pt'>模式。</span></p>
<p class=MsoNormal style='FTEL:3.25pt'><span style='font-family:宋体'>如果从布局下面的按钮中选择</span><span
lang=EN-US>HTML</span><span style='font-family:宋体'>视图,则应在</span><span
lang=EN-US>.aspx</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><%@ Page language="c#"
Codebehind="WebForm1.aspx.cs" AutoEventWireup="false"</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
Inherits="PCSWebApp1.WebForm1" %></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US><!DOCTYPE
HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US><html></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
<head></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
<title>WebForm1</title></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
<meta FTEL="GENERATOR" Content="Microsoft Visual Studio 7.1"></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
<meta FTEL="CODE</span><span lang=EN-US style='font-family:"Baskerville BE Regular"'>_</span><span
lang=EN-US>LANGUAGE" Content="C#"></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
<meta FTEL="vs</span><span lang=EN-US style='font-family:"Baskerville BE Regular"'>_</span><span
lang=EN-US>defaultClientScript" content="JavaScript"></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
<meta FTEL="vs</span><span lang=EN-US style='font-family:"Baskerville BE Regular"'>_</span><span
lang=EN-US>targetSchema"</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
content="http://schemas.microsoft.com/intellisense/ie5"></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
</head></span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>
<body MS</span><span lang=EN-US style='font-family:"Baskerville BE Regular"'>_</span><span
lang=EN-US>POSITIONING="GridLayout"></span></p>
<p class=2 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>
<form id="Form1" method="post"
Runat="server"></span></p>
<p class=2 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>
</form></span></p>
<p class=2 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>
</body></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></html></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><form></span><span
style='font-family:宋体'>元素则包含了</span><span lang=EN-US>ASP.NET</span><span
style='font-family:宋体'>代码。这里最重要的属性是</span><span lang=EN-US>runat</span><span
style='font-family:宋体'>。与本节前面的服务器端代码块一样,这个属性设置为</span><span lang=EN-US>server</span><span
style='font-family:宋体'>,表示窗体的处理将在服务器上进行。如果没有包含这个属性,就不会在服务器端上完成任何处理,窗体也不会执行任何操作。在</span><span
lang=EN-US>ASP.NET</span><span style='font-family:宋体'>页面中,只有一个服务器端</span><span
lang=EN-US><form></span><span style='font-family:宋体'>元素。</span></p>
<p class=MsoNormal><span style='font-family:宋体'>这段代码中另一个比较重要的东西是顶部的</span><span
lang=EN-US><@% Page %></span><span style='font-family:宋体'>标记,它定义了对于</span><span
lang=EN-US>C# Web</span><span style='font-family:宋体'>应用程序开发人员来说非常重要的页面特性。首先,</span><span
lang=EN-US>language</span><span style='font-family:宋体'>属性指定在页面中使用</span><span
lang=EN-US>C#</span><span style='font-family:宋体'>语言,与前面的</span><span
lang=EN-US><script></span><span style='font-family:宋体'>块一样</span><span
lang=EN-US>(Web</span><span style='font-family:宋体'>应用程序默认的语言是</span><span
lang=EN-US>VB.NET</span><span style='font-family:宋体'>,使用</span><span
lang=EN-US>Web.config</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>WebForm1.aspx.cs</span><span style='font-family:宋体'>文件中,这个文件</span><span
lang=EN-US>(</span><span style='font-family:宋体'>详见后面的内容</span><span lang=EN-US>)</span><span
style='font-family:宋体'>包含一个类定义,这个类用作</span><span lang=EN-US>Web</span><span
style='font-family:宋体'>窗体页面的基类。现在开始介绍</span><span lang=EN-US>ASP.NET</span><span
style='font-family:宋体'>如何与对象模型连接起来。这个基类可以和该文件中的代码一起使用,生成显示给用户的</span><span
lang=EN-US>HTML</span><span style='font-family:宋体'>。</span></p>
<p class=a3 style='margin-top:8.15pt;FTEL:21.45pt'><span
style='font-family:黑体'>注意:</span></p>
<p class=a1 style='FTEL:8.15pt;FTEL:21.45pt'><span
style='font-family:楷体_GB2312'>并不是所有的</span><span lang=EN-US>.aspx</span><span
style='font-family:楷体_GB2312'>文件都需要这个多层模型,默认情况下</span><span lang=EN-US>.aspx</span><span
style='font-family:楷体_GB2312'>文件只需要使用基本的</span><span lang=EN-US>.NET Web</span><span
style='font-family:楷体_GB2312'>窗体类作为页面的基类。此时,</span><span lang=EN-US>.aspx</span><span
style='font-family:楷体_GB2312'>文件应包含</span><span lang=EN-US><script></span><span
style='font-family:楷体_GB2312'>中的所有</span><span lang=EN-US>C#</span><span
style='font-family:楷体_GB2312'>代码。</span></p>
<p class=MsoNormal><span style='font-family:宋体'>前面为页面提供了一个定制的基类,也可以提供定制的事件。为了确保</span><span
lang=EN-US>ASP.NET</span><span style='font-family:宋体'>引擎认可这些事件,需要使用</span><span
lang=EN-US>AutoEventWireup</span><span style='font-family:宋体'>属性,它表示</span><span
lang=EN-US>Page_Load()</span><span style='font-family:宋体'>事件处理程序</span><span
lang=EN-US>(</span><span style='font-family:宋体'>加载页面时调用</span><span lang=EN-US>)</span><span
style='font-family:宋体'>是否能自动连接</span><span lang=EN-US>OnPageLoad</span><span
style='font-family:宋体'>事件。把这个属性设置为</span><span lang=EN-US>false</span><span
style='font-family:宋体'>,就必须提供代码来链接该事件,但这样可以获得更大的灵活性。</span></p>
<p class=MsoNormal><span style='font-family:宋体'>下面看看为这个文件生成的后置代码。在</span><span
lang=EN-US>Solution Explorer</span><span style='font-family:宋体'>上右击</span><span
lang=EN-US>WebForm1.aspx</span><span style='font-family:宋体'>,选择</span><span
lang=EN-US>View Code</span><span style='font-family:宋体'>,把</span><span
lang=EN-US>WebForm1.aspx.cs</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>using System;</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>using
System.Collections;</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>using
System.ComponentModel;</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>using
System.Data;</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>using
System.Drawing;</span></p>
<p class=2 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>using
System.Web;</span></p>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?