これは、アダプターを使用して行われるものです。魔法のようなものを作成し、それを App_Browsers に含まれるブラウザー ファイルに関連付けます。
これが私の実験的な App_Browsers/Default.browser の例です
<browsers>
<browser refID="Default">
<controlAdapters>
<adapter controlType="System.Web.UI.HtmlControls.HtmlControl"
adapterType="App_Code.Adapters.HtmlControlAdapter" />
</controlAdapters>
</browser>
</browsers>
そして私のアダプター...
System.Web.UI を使用します。System.Web.UI.Adapters の使用;
using System.Web.UI;
using System.Web.UI.Adapters;
namespace App_Code.Adapters {
public class HtmlControlAdapter : ControlAdapter {
protected override void Render(HtmlTextWriter writer) {
writer.Write("<div style='background-color: #f00;'>");
base.Render(writer);
writer.Write("</div>");
}
}
}
超脆弱な機能を備えた高度なアダプターは、HtmlControl (<form runat="server"> を含む runat="server" を含む html タグ) から派生するすべてのコントロールの周りにインライン スタイルを持つ div をレンダリングします。アダプターは、コントロールによってトリガーされる任意のイベントにフックできるため、これでニーズが解決されるはずです。