これはアダプターを使用して行われます。その魔法を行うものを作成し、それを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を使用しています。 superfragilicious能力を持つ
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から派生するすべてのコントロールの周りにインラインスタイル(<フォームにrunat = "サーバー" を含む、runat = "server" を使用し、HTMLタグ、>)とのdivをレンダリングします。あなたのアダプターは、コントロールによってトリガーされたイベントにフックすることができます。
もちろん、コントロールの開発者のために、各コントロールに添付されているOnPreRenderがあります。私はどこに/どのようにあなたがそれに添付したいと思うか分からないのですか?あなたは、IISレベルのハンドラのいくつかのタイプを作成し、ページリクエストや何を調べることができると思いますか? – phillip
サーバー対応HTMLタグのPreRenderで実行されるいくつかの共通コードが必要です。私は手動でそれをそれぞれに付ける必要はありません。 – Deane