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);

  }
Другие вопросы по тегам