Синтаксис тегов Object на стороне сервера
Обновлен: Ноябрь 2007
Объявляет и создает объекты COM и .NET Framework на странице 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"/>
Атрибуты
class
Задает создаваемый класс платформы .NET Framework.classID
Определяет создаваемый COM-компонент с помощью его идентификатора класса.id
Уникальное имя, которое используется в коде для ссылки на объект.lateBinding
Указывает, следует ли использовать API позднего связывания с COM-компонентами, которые были обработаны программой импорта библиотеки типов (Tlbimp.exe). При значении true следует использовать API позднего связывания, при значении false следует использовать API раннего связывания. Значение по умолчанию false.progID
Задает создаваемый COM-компонент через указание его программного идентификатора.runat
Должен иметь значение server для объекта, выполняемого внутри ASP.NET. Любые другие значения сообщают компилятору страниц, что тег <object> должен быть отправлен для обработки клиенту.
Заметки
Когда анализатор страниц ASP.NET обнаруживает в ASPX-файле серверный тег <object>, он создает на странице свойство только для чтения, используя в качестве имени свойства атрибут id тега. Затем в свойстве только для чтения задается создание экземпляра объекта при первом использовании свойства. Полученный экземпляр не добавляется как объект в иерархическое дерево серверных элементов управления страницы; вместо этого он рассматривается как объявление переменной, не относящейся к интерфейсу пользователя.
Атрибуты classidprogid и class являются взаимоисключающими. В одном серверном теге <object> может использоваться только один из этих атрибутов. Тем не менее, в страницу Web Forms можно включить несколько серверных тегов <object> и использовать указанные атрибуты в различных тегах.
![]() |
---|
Из соображений безопасности не поддерживаются управляемые элементы управления, использующие на странице HTML тег <object> и протокол доступа к файлам. Поэтому ссылаться на файлы непосредственно в теге нельзя. |
Пример
В следующем примере кода используется синтаксис серверных тегов Object для создания экземпляра класса ArrayList .NET Framework на странице 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>