100165681.htm

来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 952 行 · 第 1/5 页

HTM
952
字号


<!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>
	
        25.2  ASP.NET Web窗体(2)
</title></head>
<body>
    <div class="area">

        

        <div class="col1">
            <div class="lineBlue">
            </div>
            <!-- title -->
            <div class="arcTitle">
                <h1>
                    <a href="../16">
                        C#高级编程(第3版)
                    </a>
                </h1>
                <div style="text-align: center; font-size: 15px">
                    <a href="100165681.htm">
                        25.2  ASP.NET Web窗体(2)
                    </a>
                </div>
                <div style="text-align: center; font-size: 15px">
                    <a class="url" href="../../default.htm">http://book.csdn.net/</a>
                    2006-10-13 14:41:00
                </div>
                <div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
                    <div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
                        图书导读
                    </div>
                    <div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
                        <!--导读-->
                        <h1 id="divCurrentNode" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100165681.htm'><font color='red'>25.2  ASP.NET Web窗体(2)</font></a></h1>
                        <div id="divRelateNode" style="padding-left: 2px">
                        <div style='float:left;width:49%'>·<a href='100165653.htm'>23.10  小结</a></div><div style='float:right;width:49%'>·<a href='100165679.htm'>25.1  ASP.NET概述</a></div><div style='float:left;width:49%'>·<a href='100165680.htm'>25.2  ASP.NET Web窗体(1)</a></div><div style='float:right;width:49%'>·<a href='100165682.htm'>25.2  ASP.NET Web窗体(3)</a></div><div style='float:left;width:49%'>·<a href='100165683.htm'>25.3  ADO.NET和数据绑定</a></div><div style='float:right;width:49%'>·<a href='100165684.htm'>25.3.1  更新会议登记应用程序(1)</a></div></div>
                    </div>
                </div>
                </div>
            <!-- main -->
            <div id="main">
                <div id="text">
                  <div id="csdn_zhaig_ad_yahoo_2"></div>
                  
                 <link href="css.css" rel="stylesheet" type="text/css" /> <h3 style='margin-top:8.15pt;margin-right:0cm;FTEL:8.15pt;margin-left:
0cm'><a FTEL="_Toc507815269"></a><a FTEL="_Toc507815249"><span lang=EN-US>ASP.NET</span></a><span
style='font-family:黑体'>服务器控件</span></h3>

<p class=MsoNormal><a FTEL=servercontrols><span style='font-family:宋体'>前面生成的代码并不能完成许多工作,所以下面就应添加一些内容。在</span><span
lang=EN-US>VS.NET</span></a><span style='font-family:宋体'>中使用</span><span
lang=EN-US>Web</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>ASP.NET</span><span
style='font-family:宋体'>页面上的控件有</span><span lang=EN-US>4</span><span
style='font-family:宋体'>种类型:</span></p>

<p class=1 style='margin-left:37.55pt;FTEL:-16.1pt'><span lang=EN-US>●<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
lang=EN-US>HTML</span><span style='font-family:宋体'>服务器控件<span style='letter-spacing:
-1.0pt'>——</span></span><span style='letter-spacing:-1.0pt'> </span><span
style='font-family:宋体'>这些控件模拟</span><span lang=EN-US>HTML</span><span
style='font-family:宋体'>元素,</span><span lang=EN-US>HTML</span><span
style='font-family:宋体'>开发人员会很熟悉它们。</span></p>

<p class=1 style='margin-left:37.85pt;FTEL:-16.4pt'><span lang=EN-US>●<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
lang=EN-US style='letter-spacing:.1pt'>Web</span><span style='font-family:宋体;
letter-spacing:.1pt'>服务器控件</span><span style='font-family:宋体;letter-spacing:
-1.0pt'>——</span><span style='letter-spacing:-1.0pt'> </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 style='font-family:宋体;letter-spacing:
.1pt'>们有</span><span style='font-family:宋体'>一个公共的命名模式,例如属性和其他元素的命名,便于进行开发,而且可以与相似的</span><span
lang=EN-US>Windows</span><span style='font-family:宋体'>窗体控件保持一致。还有一些全新的、功能强大的控件,详见后面的内容。</span></p>

<p class=1 style='margin-left:37.55pt;FTEL:-16.1pt'><span lang=EN-US>●<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
style='font-family:宋体'>验证控件</span><span style='font-family:宋体;letter-spacing:
-1.0pt'>——</span><span style='letter-spacing:-1.0pt'> </span><span
style='font-family:宋体'>这些控件可以以一种简单的方式对用户输入执行验证。</span></p>

<p class=1 style='margin-left:37.85pt;FTEL:-16.4pt'><span lang=EN-US
style='letter-spacing:.1pt'>●<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-family:宋体;letter-spacing:.1pt'>定制控件和用户控件</span><span
style='font-family:宋体;letter-spacing:-1.0pt'>——</span><span style='letter-spacing:
-1.0pt'> </span><span style='font-family:宋体;letter-spacing:.1pt'>由开发人员定义的控件,我们可以用第</span><span
lang=EN-US style='letter-spacing:.1pt'>27</span><span style='font-family:宋体;
letter-spacing:.1pt'>章介绍的许多方式来定义它们。</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>Web</span><span
style='font-family:楷体_GB2312'>服务器控件和验证控件及其使用说明的完整列表。本章没有介绍</span><span
lang=EN-US>HTML</span><span style='font-family:楷体_GB2312'>控件。这些控件提供的功能,</span><span
lang=EN-US>Web</span><span style='font-family:楷体_GB2312'>服务器也能提供,而且</span><span
lang=EN-US>Web</span><span style='font-family:楷体_GB2312'>服务器控件更适合于编程,而不是进行</span><span
lang=EN-US>HTML</span><span style='font-family:楷体_GB2312'>设计。学会如何使用</span><span
lang=EN-US>Web</span><span style='font-family:楷体_GB2312'>服务器控件后,使用</span><span
lang=EN-US>HTML</span><span style='font-family:楷体_GB2312'>服务器控件就不难了。也可以参阅清华大学出版社出版的《</span><span
lang=EN-US>ASP.NET 1.1</span><span style='font-family:楷体_GB2312'>高级编程》。</span></p>

<p class=MsoNormal><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>XML</span><span style='font-family:宋体'>元素的方式使用:</span></p>

<p class=a6 style='margin-top:8.15pt;margin-right:0cm;FTEL:8.15pt;
margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&lt;asp:X
runat=&quot;server&quot; attribute=&quot;value&quot;&gt;Contents&lt;/asp:X&gt;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>其中</span><span lang=EN-US>X</span><span
style='font-family:宋体'>是</span><span lang=EN-US>ASP.NET</span><span
style='font-family:宋体'>服务器控件的名称,</span><span lang=EN-US>attribute=''value'' </span><span
style='font-family:宋体'>是一个或多个属性规范,</span><span lang=EN-US>Contents </span><span
style='font-family:宋体'>指定控件的内容。一些控件可以使用属性和控件元素的内容来设置属性,例如</span><span
lang=EN-US>Label(</span><span style='font-family:宋体'>用于显示简单文本</span><span
lang=EN-US>)</span><span style='font-family:宋体'>,其文本可以用两种方式指定。其他控件可以使用元素包含模式来定义它们的层次结构,例如</span><span
lang=EN-US>Table(</span><span style='font-family:宋体'>定义一个表</span><span
lang=EN-US>)</span><span style='font-family:宋体'>可以包含</span><span lang=EN-US>TableRow</span><span
style='font-family:宋体'>元素,指定表中的行。</span></p>

<p class=MsoNormal><span style='font-family:宋体'>注意,控件的语法是基于</span><span
lang=EN-US>XML</span><span style='font-family:宋体'>的</span><span lang=EN-US>(</span><span
style='font-family:宋体'>它们也可以内嵌在非</span><span lang=EN-US>XML</span><span
style='font-family:宋体'>代码中,例如</span><span lang=EN-US>HTML)</span><span
style='font-family:宋体'>。省略闭合标记、空元素</span><span lang=EN-US>/&gt;</span><span
style='font-family:宋体'>,或者重叠控件,都会产生错误。</span></p>

<p class=MsoNormal><span style='font-family:宋体'>最后,再看看</span><span lang=EN-US>Web</span><span
style='font-family:宋体'>服务器控件上的</span><span lang=EN-US>runat=''server''</span><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>WebForm1.aspx</span><span style='font-family:宋体'>的</span><span
lang=EN-US>HTML</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>&lt;%@ Page language=&quot;c#&quot;
Codebehind=&quot;WebForm1.aspx.cs&quot; AutoEventWireup=&quot;false&quot;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Inherits=&quot;PCSWebApp1.WebForm1&quot; %&gt;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&lt;!DOCTYPE
HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot; &gt;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&lt;html&gt;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
&lt;head&gt;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;title&gt;WebForm1&lt;/title&gt;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;meta FTEL=&quot;GENERATOR&quot; Content=&quot;Microsoft Visual Studio 7.1&quot;&gt;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;meta FTEL=&quot;CODE</span><span lang=EN-US style='font-family:"Baskerville BE Regular"'>_</span><span
lang=EN-US>LANGUAGE&quot; Content=&quot;C#&quot;&gt;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;meta FTEL=&quot;vs</span><span lang=EN-US style='font-family:"Baskerville BE Regular"'>_</span><span
lang=EN-US>defaultClientScript&quot; content=&quot;JavaScript&quot;&gt;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;meta FTEL=&quot;vs</span><span lang=EN-US style='font-family:"Baskerville BE Regular"'>_</span><span
lang=EN-US>targetSchema&quot;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
content=&quot;http://schemas.microsoft.com/intellisense/ie5&quot;&gt;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
&lt;/head&gt;</span></p>

<p class=a6 style='margin-left:21.45pt;FTEL:18.45pt'><span lang=EN-US>&nbsp;&nbsp;
&lt;body MS</span><span lang=EN-US style='font-family:"Baskerville BE Regular"'>_</span><span
lang=EN-US>POSITIONING=&quot;GridLayout&quot;&gt;</span></p>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?