2012-02-21 3 views
0

Я написал адаптер управления некоторое время назад для CheckBoxList, чтобы изменить разметку, все хорошо.
Я тогда написал адаптер для CheckBox, снова все хорошо.
Затем я заметил, что RadioButton на сайте использовал метод визуализации в моем контрольном адаптере Checkbox.CheckBox и адаптер управления RadioButton

Поскольку 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" /> 

Большое спасибо.
Dan

ответ

0

Я нашел решение это сам, взятый на пару часов, но ...

Если добавить адаптер управления для RadioButton и использовать adapterType из HideDisabledControlAdapter над флажок-адаптер, он будет отображать радиообъект как обычно.

<adapter controlType="System.Web.UI.WebControls.RadioButton" adapterType="System.Web.UI.WebControls.Adapters.HideDisabledControlAdapter" />

+0

Я предполагаю, что это не будет оказывать его в обычном режиме, если кнопка радиона отключен ... – Chris

Смежные вопросы