首页


ASP .NET教程

  • ASP .NET简介
  • ASP与ASP .NET
  • 安装ASP .NET
  • ASP .NET网页
  • ASP .NET控件
  • ASP .NET事件
  • ASP .NET表单

  • ASP .NET Form
  • ASP .NET ViewState
  • asp:TextBox
  • asp:Button
  • ASP.NET绑定

  • 数据绑定
  • ArrayList
  • Hashtable
  • SortedList
  • XML文件
  • asp:Repeater
  • asp:DataList
  • ASP.NET数据库

  • 数据库连接
  • 手册

  • HTML控件
  • Web控件
  • 验证控件
  • 示例

  • ASP .NET示例

  • ASP .NET - 服务器控件

    [前一节] [后一节]

    服务器控件是能够被服务器识别的标签。


    传统ASP的局限性

    下面这段是从前一章复制的:

    <html>
    <body bgcolor="yellow">
    <center>
    <h2>你好,TOM!</h2>
    <p><%Response.Write(now())%></p>
    </center>
    </body>
    </html>

    上面这段代码表明了传统ASP的局限性:代码块不得不放在你想要输出所在的地方。

    使用传统ASP不可能把可执行代码从HTML中分离出来。这使得页面难于阅读和维护。


    ASP .NET - 服务器控件

    上面提到,ASP .NET已经用服务器控件解决这个“代码缠绕”的问题。

    服务器控件是能够被服务器识别的标签。

    服务器控件有三种:

    • HTML服务器控件 – 传统的HTML标签
    • Web服务器控件 – 新的ASP .NET标签
    • 验证服务器控件 – 用来验证输入有效性

    ASP .NET – HTML服务器控件

    HTML服务器控件是可被服务器识别的HTML标签。

    ASP .NET文件中的HTML元素默认情况下被当作文本。要使这些元素成为可编程的,要给HTML元素加上 runat="server" 属性。这个属性指明此元素将被当作服务器控件对待。加上id属性用以识别此服务器控件。这个id标识可以用来在运行时控制此服务器控件。

    注意:所有的HTML服务器控件必须处于带有runat="server"属性的<form>标签之内。runat="server"属性指明此表单将在服务器上被处理。它还指明在此表单之内的控件可以被服务器脚本访问。

    在下面的示例中我们在一个.aspx中声明一个HtmlAnchor服务器控件。然后我们在一个事件句柄(事件句柄是对一指定事件执行的子程序)中控制此HtmlAnchor控件的Href属性。 Page_Load事件是可被ASP .NET识别的许多事件之一:

    <script runat="server">
    Sub Page_Load
    link1.HRef="http://www.chinahobby.com/tom/index.html"
    End Sub
    </script>
    <html>
    <body>
    <form runat="server">
    <a id="link1" runat="server">访问TOM在线!</a>
    </form>
    </body>
    </html>

    可执行代码已经被挪到HTML之外了。


    ASP .NET – Web服务器控件

    Web服务器控件是可被服务器识别的特殊的ASP .NET标签。

    象HTML服务器控件一样,Web服务器控件也是在服务器端被创建并且需要有runat="server"属性才能起作用。然而,Web服务器控件不一定要对应任何已经存在的HTML元素,并且它们可以表述更为复杂的元素。

    创建一个Web服务器控件的语法是:

    <asp:control_name id="some_id" runat="server" />

    在下面的示例中我们在一个.aspx文件中声明一个Button服务器控件。然后对Click事件创建一个事件句柄来改变按钮上的文字:

    <script runat="server">
    Sub submit(Source As Object, e As EventArgs)
    button1.Text="请你点击这里!"
    End Sub
    </script>
    <html>
    <body>
    <form runat="server">
    <asp:Button id="button1" Text="点击这里!"
    runat="server" OnClick="submit"/>
    </form>
    </body>
    </html>


    ASP .NET – 验证服务器控件

    验证服务器控件用来验证用户输入。如果用户输入不能通过验证,它将向用户显示一个错误信息。

    每个验证控件履行某种特定类型的验证(例如禁止某一个特定值或者某一范围的值)。

    默认情况下,当一个Button、ImageButton或者LinkButton控件被点击的时候将进行页面验证。通过把CausesValidation属性设置为false,你也可以阻止在点击按钮控件时的验证。

    创建一个验证服务器控件的语法是:

    <asp:control_name id="some_id" runat="server" />

    在下面示例中我们在一个.aspx文件中声明一个TextBox控件、一个Button控件和一个RangeValidator控件。如果验证失败,将在RangeValidator 控件中显示“数值必须在1到100之间!”:

    <html>
    <body>
    <form runat="server">
    输入一个1到100之间的数字:
    <asp:TextBox id="tbox1" runat="server" />
    <br /><br />
    <asp:Button Text="提交" runat="server" />
    <br />
    <asp:RangeValidator
    ControlToValidate="tbox1"
    MinimumValue="1"
    MaximumValue="100"
    Type="Integer"
    EnableClientScript="false"
    Text="数值必须在1到100之间!"
    runat="server" />
    </form>
    </body>
    </html>


    [前一节] [后一节]


    本站教程均为老猫根据外文资料翻译整理,将逐步刊出。此版本内容保证国内绝无仅有,由于时间、水平有限,有不妥之处欢迎指正。

    如果能对您有所帮助,敬请赞助,老猫不胜感激!

    1. 网上乞讨:
    在您任何方便的时候,向以下帐号存入10元人民币(当然越多越好)。
    交通银行太平洋卡
    601428 7091 5592604

    2. 广告投放:
    在任何指定页面投放各种形式广告,价格优惠。

    3. 代为宣传:
    以任何形式向您的亲朋好友推荐。

    Copyright © Tom.s Online 2003-2004