伺服器端物件標記語法

在 Web Form 網頁中宣告並建立 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
    指出是否應將晚期繫結的 API 用於型別程式庫匯入工具 (Tlbimp.exe) 已處理過的 COM 元件。 true 表示應使用晚期繫結的 API,false 表示應使用早期繫結的 API。 預設值為 false。

  • progID
    藉由指定元件的程式設計識別項,來指定要建立的 COM 元件。

  • runat
    在 ASP.NET 中執行的物件都必須設定為 server。 所有的非 server 值都會使網頁編譯器假設 <object> 標記應該送至用戶端處理。

備註

當 ASP.NET Web 網頁剖析器 (Parser) 遇到 .aspx 檔案中的伺服器端 <object> 標記時,便會使用標記的 id 屬性 (Attribute) 做為屬性 (Property) 名稱,在網頁上產生唯讀屬性 (Property)。 然後,便會設定這個唯讀屬性以便在第一次使用時建立物件的執行個體。 所產生的執行個體不會當做物件加入網頁的階層式伺服器控制項樹狀結構,而是將其視為非使用者介面 (UI) 變數宣告。

classid、progid 和 class 屬性互斥 (Mutually Exclusive)。 您不能在單一伺服器端 <object> 標記中,包含一個以上的這些屬性。 不過,您可以在 Web Form 網頁中包含多個伺服器端 <object> 標記,並在不同的標記中使用這些屬性。

注意

基於安全性考量,使用 <object> 標記的 Managed 控制項和 HTML 網頁中的檔案存取通訊協定未受支援。因此,您無法從標記內直接參考檔案。

範例

下列程式碼會範例使用伺服器端的物件語法,在 Web Form 網頁中建立 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