在控件中引用控件



我有一个我构建的自定义 ASP.NET 控件(.ascx 文件)。此控件包含一些标签/文本框/等以及"确定"和"取消"按钮。

我想使用 AJAX 控件工具包 ModalPopup 控件来弹出我的自定义控件,并让用户与之交互,并在完成后按 Ok/Cancel。

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" />

我的目标是能够插入我的自定义控件,而无需父级提供任何其他代码。

任何帮助将不胜感激。谢谢。

与其使属性返回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>

值得一试!

OKControlIDCancelControlID并不是真正必需的。如果要指定它们,可以使用下划线进行,即 YourUserControlID_ButtonIDInUserControl .

请注意,您无需公开用户中的任何控件。

最新更新