Syntax für serverseitige Objekttags
[Dieses Dokument dient lediglich Vorschauzwecken und kann in späteren Versionen geändert werden. Leere Themen sind als Platzhalter enthalten.]
Deklariert und erstellt COM- und .NET Framework-Objekte auf einer Web Forms-Seite.
<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"/>
Attribute
class
Gibt die zu erstellende .NET Framework-Klasse an.classID
Gibt die zu erstellende COM-Komponente mithilfe des Klassenbezeichners der Komponente an.id
Eindeutiger, für Verweise auf das Objekt im nachfolgenden Code zu verwendender Name.lateBinding
Gibt an, ob für COM-Komponenten, die vom Type Library Importer-Tool (Tlbimp.exe) verarbeitet wurden, APIs mit später Bindung verwendet werden sollen. true gibt an, dass APIs mit später Bindung verwendet werden sollen, false gibt an, dass APIs mit früher Bindung verwendet werden sollen. Die Standardeinstellung ist false.progID
Gibt die zu erstellende COM-Komponente durch Angabe des Programmbezeichners der Komponente an.runat
Muss auf server festgelegt sein, damit das Objekt innerhalb von ASP.NET ausgeführt wird. Bei allen anderen Einstellungen geht der Seitencompiler davon aus, dass das <object>-Tag zur Verarbeitung an den Client gesendet werden soll.
Hinweise
Wenn der ASP.NET-Seitenparser in einer ASPX-Datei ein serverseitiges <object>-Tag vorfindet, erstellt er eine schreibgeschützte Eigenschaft auf der Seite, wobei das id-Attribut des Tags als Eigenschaftenname verwendet wird. Die schreibgeschützte Eigenschaft wird anschließend so konfiguriert, dass bei der ersten Verwendung eine Instanz des Objekts erstellt wird. Die dabei entstehende Instanz wird nicht als Objekt in die hierarchische Serversteuerelementstruktur der Seite eingefügt, sondern als Variablendeklaration ohne Bezug zur Benutzeroberfläche behandelt.
Die Attribute classid, progid und class schließen sich gegenseitig aus. Sie können jeweils nur eines dieser Attribute in ein einzelnes, serverseitiges <object>-Tag einfügen. Sie können jedoch mehrere serverseitige <object>-Tags auf einer Web Forms-Seite einfügen und diese Attribute in verschiedenen Tags verwenden.
Hinweis
Aus Sicherheitsgründen werden verwaltete Steuerelemente, die das <object>-Tag und das Dateizugriffsprotokoll auf einer HTML-Seite verwenden, nicht unterstützt.Deshalb kann innerhalb des Tags nicht direkt auf Dateien verwiesen werden.
Beispiel
Das folgende Codebeispiel veranschaulicht das Erstellen einer Instanz der ArrayList-Klasse von .NET Framework auf einer Web Forms-Seite mithilfe der Syntax für serverseitige Objekttags.
<%@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>