2014-03-05 2 views
2

빌드 한 사용자 지정 ASP.NET 컨트롤 (.ascx 파일)이 있습니다. 이 컨트롤에는 몇 가지 레이블/텍스트 상자/등이 있습니다. "Ok"및 "Cancel"버튼이 있습니다.참조 컨트롤 컨트롤 내

AJAX Control Toolkit ModalPopup 컨트롤을 사용하여 내 사용자 정의 컨트롤을 팝업하고 사용자가 해당 컨트롤과 상호 작용하게하고 완료되면 확인/취소를 눌러 보겠습니다.

ModalPopup 컨트롤에는 닫을 때 팝업을 알릴 수있는 OkControlIDCancelControlID 속성이 있습니다.

사용자 정의 컨트롤 내에서 확인/취소 버튼을 참조하려면 어떻게해야합니까?

단추를 반환 한 다음 점 표기법을 사용하는 컨트롤을 속성에 추가하려고했지만 작동하지 않는 것 같습니다. (부분)

사용자 지정 컨트롤 코드 :

public Button OkButton 
{ 
    get { return this.btnOk; } 
    set { } 
} 

메인 페이지 :

<!-- This button should trigger the popup --> 
<asp:Button ID="btnEdit" runat="server" Text="Edit" /> 

<!-- AJAX Control Toolkit ModalPopup control (--> 
<asp:ModalPopupExtender 
    ID="btnEdit_ModalPopupExtender" 
    runat="server" 
    TargetControlID="btnEdit" 
    PopupControlID="ctlBasic" 
    OkControlID="ctlBasic.OkButton" > 
</asp:ModalPopupExtender> 

<!-- This is my custom control that should be popped up --> 
<uc1:ctlBasic ID="ctlBasic" runat="server" /> 

내 목표는 추가없이 Plug-in에 대한 내 사용자 지정 컨트롤 할 수있다 여기에 기본적인 윤곽은 부모의 코드.

도움을 주시면 감사하겠습니다. 고맙습니다.

답변

0

속성을 Button으로 반환하는 대신 아래와 같이 버튼의 ID를 반환합니다.

public String OkButtonID 
{ 
    get 
    { 
     return this.btnOk.ID; 
    } 
} 

그리고는 다음과 modalpopupextender에 대한 aspx 마크 업의 변화를 확인하십시오.

<!-- AJAX Control Toolkit ModalPopup control (--> 
<asp:ModalPopupExtender 
    ID="btnEdit_ModalPopupExtender" 
    runat="server" 
    TargetControlID="btnEdit" 
    PopupControlID="ctlBasic" 
    OkControlID="ctlBasic.OkButtonID" > 
</asp:ModalPopupExtender> 

가치가 있습니다!

0

OKControlIDCancelControlID은 실제로 필요하지 않습니다. 지정하려는 경우 밑줄 (예 : YourUserControlID_ButtonIDInUserControl)을 사용하여 지정할 수 있습니다.

사용자는 공개적으로 제어 할 필요가 없습니다.