Sintaxis de etiquetas de objetos del servidor
Declara y crea objetos COM y objetos de .NET Framework en una página de formularios Web Forms.
<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"/>
Atributos
class
Especifica la clase de .NET Framework que se va a crear.classID
Especifica el componente COM que se va a crear utilizando el identificador de clase del componente.id
Nombre único utilizado cuando se hace referencia al objeto en el siguiente código.lateBinding
Indica si se deben utilizar API de enlace en tiempo de ejecución con los componentes COM procesados por el importador de la biblioteca de tipos (Tlbimp.exe). El valor true indica que deben utilizarse API de enlace en tiempo de ejecución; el valor false indica que deben utilizarse API de enlace en tiempo de compilación. El valor predeterminado es false.progID
Especifica el componente COM que se va a crear indicando el identificador de programación del componente.runat
Su valor debe establecerse en server para que el objeto se ejecute en ASP.NET. Cualquier valor distinto de server hará que el compilador de páginas suponga que debe enviarse la etiqueta <object> al cliente para su procesamiento.
Comentarios
Cuando el analizador de páginas ASP.NET detecta una etiqueta <object> del servidor en un archivo .aspx, genera una propiedad de sólo lectura en la página utilizando el atributo id de la etiqueta como nombre de propiedad. A continuación, la propiedad de sólo lectura se configura para que se cree una instancia del objeto la primera vez que se utilice. La instancia resultante, en vez de agregarse como un objeto dentro del árbol jerárquico de controles de servidor de la página, se trata como una declaración de variables sin interfaz de usuario.
Los atributos classid, progid y class se excluyen mutuamente. No se puede incluir más de uno de estos atributos en una sola etiqueta <object> del servidor. No obstante, se pueden incluir varias etiquetas <object> del servidor en una página de formularios Web Forms y utilizar estos atributos en etiquetas diferentes.
![]() |
---|
Por razones de seguridad, no se admiten los controles administrados que utilicen la etiqueta <object> y un protocolo de acceso a archivos en una página HTML.Por ello, no se puede hacer referencia a los archivos directamente desde la etiqueta. |
Ejemplo
En el siguiente ejemplo de código se utiliza una sintaxis de objetos de servidor para crear una instancia de la clase ArrayList de .NET Framework en una página de formularios Web Forms.
<%@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>