Share via


服务器端对象标记语法

[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。]

在 Web 窗体页中声明并创建 COM 和 .NET Framework 对象。

<object id="id" 
        runat="server" 
        latebinding="true|false" 
        class="Class Name">
<object id="id" 
        runat="server" 
        latebinding="true|false" 
        progid="COM ProgID"/>
<object id="id" 
        runat="server" 
        latebinding="true|false" 
        classid="COM ClassID"/>

特性

  • class
    指定要创建的 .NET Framework 类。

  • classID
    使用组件的类标识符指定要创建的 COM 组件。

  • id
    当引用后面的代码中的对象时使用的唯一名称。

  • lateBinding
    指示是否应对已由类型库导入程序 (Tlbimp.exe) 处理的 COM 组件使用后期绑定 API。 true 指示应使用后期绑定 API;false 指示应使用早期绑定 API。 默认值为 false。

  • progID
    通过指定组件的编程标识符来指定要创建的 COM 组件。

  • runat
    对于要在 ASP.NET 内执行的对象,必须设置为 server。 任何非服务器值都将导致页编译器假定应将 <object> 标记发送到客户端以进行处理。

备注

当 ASP.NET 页分析器在 .aspx 文件中遇到服务器端 <object> 标记时,它使用该标记的 id 特性作为属性名在该页上生成只读属性。 在首次使用时配置只读属性来创建对象的实例。 不将得到的实例作为一个对象添加到页的分层服务器控件树中,而将其作为非用户界面 (UI) 变量声明来对待。

classid、progid 和 class 特性互斥。 单个服务器端 <object> 标记中只能包含这些特性之一。 但是,您可以在 Web 窗体页中包括多个服务器端 <object> 标记,并在不同的标记中使用这些特性。

备注

为安全起见,不支持 HTML 页中使用 <object> 标记和文件访问协议的托管控件。因此,不能直接从标记中引用文件。

示例

下面的代码示例使用服务器端对象语法在 Web 窗体页中创建 ArrayList .NET Framework 类的实例。

<%@Page language="C#" %>
<html>
   <object id="items" class="System.Collections.ArrayList" runat="server" />
   <script language="C#" runat=server>
      void Page_Load(Object sender, EventArgs e) {
         items.Add("One");
         items.Add("Two");
         items.Add("Three");

         MyList.DataSource = items;
         MyList.DataBind();
      }
   </script>

   <body>
      <form id="form1" runat="server">
      <asp:datalist id="MyList" runat=server>
         <ItemTemplate>
            Here is a value: <%# Container.DataItem %>
         </ItemTemplate>
      </asp:datalist>
      </form1>
   </body>
</html>
<%@Page language="VB" %>
<html>
   <object id="items" class="System.Collections.ArrayList" runat="server" />
   <script language="VB" runat=server>
      Sub Page_Load(Sender As Object, E As EventArgs)
         items.Add("One")
         items.Add("Two")
         items.Add("Three")

         MyList.DataSource = items
         MyList.DataBind()
      End Sub
   </script>

   <body>
      <form id="form1" runat="server">
      <asp:datalist id="MyList" runat=server>
         <ItemTemplate>
            Here is a value: <%# Container.DataItem %>
         </ItemTemplate>
      </asp:datalist>
      </form1>
   </body>
</html>

请参见

概念

ASP.NET Web Page Syntax Overview

Introduction to ASP.NET Web Pages