前段时间我为 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" />
非常感谢。
担