ASP.NET: как можно декларативно добавить пользовательский / пространственный атрибут XHTML в веб-элемент управления?
Обычно неизвестные атрибуты веб-элемента управления передаются в отображаемый элемент в браузере. Итак, следующие работы.
<asp:label runat="server" Text="Label Text" helpId="101" />
Тем не менее, если вы используете атрибут пространства имен, как показано ниже
<asp:label runat="server" Text="Label Text" myNs:helpId="101" /></div>
Атрибут не отображается клиенту, даже когда пользовательское пространство имен объявлено в элементе html, например:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:myNs="http://www.acme.com/htmlext">
Кто-нибудь знает способ заставить это отрисовать клиенту, не используя пользовательский элемент управления. Модуль или другое глобально "подключаемое" решение будет приемлемым.
1 ответ
Нашел эту статью на MSDN... выглядит многообещающе. Но вам нужно будет создать собственный веб-контроль.
Метод WebControl.AddAttributesToRender
Добавляет атрибуты и стили HTML, которые необходимо отобразить, в указанный HtmlTextWriterTag.
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
writer.AddAttribute("myNs:helpId", "101");
base.AddAttributesToRender(writer);
}