マークアップを変更する CheckBoxList のコントロール アダプターを少し前に作成しました。
次に、CheckBox 用のアダプターを作成しましたが、これもすべて問題ありません。
しかし、サイトの RadioButton が Checkbox コントロール アダプタの render メソッドを使用していることに気付きました。
RadioButton が CheckBox から継承されているため、CheckBox コントロール アダプターによって常にキャッチされます。CMS を介して他の多くのコードを変更することを意味するため、ラジオ ボタンのレンダリングをオーバーライドしたくないため、これを停止する方法はありますか。
または、オブジェクトがラジオボタンの場合、コントロール アダプターで Render メソッドをエスケープできますか?
最初は base.Render() を使用できると思っていましたが、明らかに間違った方向に進んでおり (それらはすべて WebControl/Control から継承されています)、本質的に「parent.Render()」が必要です。
何か案は?または、新しいコントロール アダプターでラジオ ボタンのレンダリングを複製する必要がありますか?
それが役立つ場合、私のブラウザファイルは次のとおりです...
<adapter controlType="System.Web.UI.WebControls.DropDownList" adapterType="Skylight.Core.Utility.ControlAdapters.DropDownListAdapter" />
<adapter controlType="System.Web.UI.WebControls.Image" adapterType="Skylight.Core.Utility.ControlAdapters.ImageAdapter" />
<adapter controlType="System.Web.UI.WebControls.CheckBoxList" adapterType="Skylight.Core.Utility.ControlAdapters.CheckBoxListAdapter" />
<adapter controlType="System.Web.UI.WebControls.CheckBox" adapterType="Skylight.Core.Utility.ControlAdapters.CheckBoxAdapter" />
どうもありがとう。
ダン