如何:使用 ASP.NET 语法将服务器控件添加到 ASP.NET 网页

更新:2007 年 11 月

您可以通过在 .aspx 文件中直接声明 Web 服务器控件将它添加到页中。

zzhfb89h.alert_note(zh-cn,VS.90).gif说明:

有关 ASP.NET 网页上控件的背景信息,请参见 ASP.NET Web 服务器控件概述

以声明方式添加控件

  1. 如果您位于可视化设计器中,请切换到源编辑视图。

  2. 将表示该控件的元素键入 .aspx 文件。您使用的具体语法取决于要添加的控件,但通常适用下面的情况:

    • 控件必须包含 runat="server" 属性。

    • 设置了控件的 ID 属性,除非该控件是某个复杂控件的一部分且重复出现(如在 GridViewFormViewDetailsViewRepeaterDataList 控件中一样)。

    • Web 服务器控件是使用引用 asp 命名空间的 XML 标记声明的。

    • 控件声明必须正确结束。您可以指定显式结束标记,或者如果控件不具有子元素,也可以指定一个自结束标记。唯一的例外是不可以包含子元素的 HTML 输入控件,如输入控件(例如,HtmlInputText 服务器控件声明语法HtmlImage 服务器控件声明性语法HtmlButton 服务器控件声明性语法)。

    • 控件属性声明为属性。

      下面的示例显示 Web 服务器控件的典型声明:

      <!-- Textbox Web server control -->
      <asp:textbox id="TextBox1" runat="Server" Text=""></asp:textbox>
      
      <!-- Same, but with self-closing element -->
      <asp:textbox id="Textbox2" runat="Server" Text="" />
      
      <!-- Web DropDownList control, which contains subelements -->
      <asp:DropDownList id="DropDown1" runat="server">
         <asp:ListItem Value="0">0</asp:ListItem>
         <asp:ListItem Value="1">1</asp:ListItem>
         <asp:ListItem Value="2">2</asp:ListItem>
         <asp:ListItem Value="3">3</asp:ListItem>
      </asp:DropDownList>
      
      <asp:Repeater id="Repeater2" runat="server">
         <HeaderTemplate>
             Company data:
         </HeaderTemplate>
         <ItemTemplate>
             <asp:Label ID="Label1" runat="server" 
                   Font-Names="verdana" Font-Size="10pt"
                   Text='<%# Eval("Name") %>' />
             ( <asp:Label ID="Label2" runat="server"
                   Font-Names="verdana" Font-Size="10pt"
                   Text='<%# Eval("Ticker") %>'/>
              )
         </ItemTemplate>
         <SeparatorTemplate>
             ,
         </SeparatorTemplate>
      </asp:Repeater>
      
      <!-- Textbox Web server control -->
      <asp:textbox id="TextBox1" runat="Server" Text=""></asp:textbox>
      
      <!-- Same, but with self-closing element -->
      <asp:textbox id="Textbox2" runat="Server" Text="" />
      
      <!-- Web DropDownList control, which contains subelements -->
      <asp:DropDownList id="DropDown1" runat="server">
         <asp:ListItem Value="0">0</asp:ListItem>
         <asp:ListItem Value="1">1</asp:ListItem>
         <asp:ListItem Value="2">2</asp:ListItem>
         <asp:ListItem Value="3">3</asp:ListItem>
      </asp:DropDownList>
      
      <asp:Repeater id="Repeater2" runat="server">
         <HeaderTemplate>
             Company data:
         </HeaderTemplate>
         <ItemTemplate>
             <asp:Label ID="Label1" runat="server" 
                   Font-Names="verdana" Font-Size="10pt"
                   Text='<%# Eval("Name") %>' />
             ( <asp:Label ID="Label2" runat="server"
                   Font-Names="verdana" Font-Size="10pt"
                   Text='<%# Eval("Ticker") %>'/>
              )
         </ItemTemplate>
         <SeparatorTemplate>
             ,
         </SeparatorTemplate>
      </asp:Repeater>
      

      有关特定 Web 服务器控件的声明语法的信息,请参见 Web 服务器控件语法

      zzhfb89h.alert_note(zh-cn,VS.90).gif说明:

      如果页设计器不能正确地呈现 Web 服务器控件,它将显示一个含有文字“创建控件时出错”的灰色框。这通常意味着该控件的 ASP.NET 语法不正确,例如,如果某 Web 服务器控件元素中缺少了 runat="server" 属性,则显示此错误。

请参见

任务

如何:以编程方式设置 ASP.NET 服务器控件样式属性

如何:使用 ASP.NET 语法设置 ASP.NET 服务器控件样式属性

如何:通过编程方式设置 HTML 服务器控件的属性

概念

ASP.NET Web 服务器控件概述