ASP.NET: как можно декларативно добавить пользовательский / пространственный атрибут XHTML в веб-элемент управления? - PullRequest
1 голос
/ 25 августа 2010

Обычно неизвестные атрибуты веб-элемента управления передаются в отображаемый элемент в браузере.Таким образом, работает следующее:

<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 Ответ

0 голосов
/ 25 августа 2010

Найдена эта статья на MSDN ... выглядит многообещающе.Но вам нужно будет создать пользовательский веб-элемент управления.

WebControl.AddAttributesToRender Method

Добавляет атрибуты и стили 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);

  }
...