我有一个我构建的自定义 ASP.NET 控件(.ascx 文件)。此控件包含一些标签/文本框/等以及"确定"和"取消"按钮。
我想使用 AJAX 控件工具包 ModalPopup 控件来弹出我的自定义控件,并让用户与之交互,并在完成后按 Ok/Cancel。
ModalPopup 控件具有 OkControlID
和 CancelControlID
属性,这些属性可以告诉弹出窗口何时关闭。
如何从自定义控件中引用"确定"/"取消"按钮?
我尝试向我的控件添加返回按钮的属性,然后使用点表示法,但这似乎不起作用。 以下是基本大纲:
自定义控件代码(部分):
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>
值得一试!
OKControlID
和CancelControlID
并不是真正必需的。如果要指定它们,可以使用下划线进行,即 YourUserControlID_ButtonIDInUserControl
.
请注意,您无需公开用户中的任何控件。