2012-02-21 3 views
0

이전에 CheckBoxList가 컨트롤을 작성하여 마크 업을 변경했습니다.
그런 다음 CheckBox 용 어댑터를 작성했습니다. 다시 좋은 점이 있습니다.
그러나 사이트의 RadioButton이 내 Checkbox 컨트롤 어댑터에서 render 메서드를 사용하고 있다는 것을 알았습니다.CheckBox 및 RadioButton 컨트롤 어댑터

RadioButton을 CheckBox에서 상속하면 항상 CheckBox 컨트롤 adpater에 의해 catch됩니다. 라디오 버튼의 렌더링을 오버라이드하고 싶지 않아서 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" /> 

고마워요이다.

답변

0

나는 ... 몇 시간 촬영이 자신을 해결책을 찾았지만, 한

당신은 의 RadioButton위한 제어 어댑터를 추가하고 위의 HideDisabledControlAdapter의 adapterType를 사용하는 경우 확인란을 선택하면 라디오 버튼이 정상적으로 렌더링됩니다.

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

+0

은 내가 radion 버튼이 비활성화 된 경우 정상으로 렌더링하지 않습니다 가정 ... – Chris