1

通常、Web コントロールの不明な属性は、ブラウザーでレンダリングされた要素に渡されます。したがって、次のように動作します。

<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">

カスタムコントロールを使用せずに、これをクライアントにレンダリングする方法を知っている人はいますか? モジュールまたはその他のグローバルに「プラグ可能な」ソリューションは受け入れられます。

4

1 に答える 1

0

MSDNでこの記事を見つけました...有望に見えます。ただし、カスタムWebコントロールを作成する必要があります。

WebControl.AddAttributesToRenderメソッド

指定されたHtmlTextWriterTagにレンダリングする必要のあるHTML属性とスタイルを追加します。

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

  }
于 2010-08-24T21:28:33.333 に答える