我正在构建一个模式框作为自定义服务器控件,我希望在模态框TargetControlID上有一个属性,它指定在单击时显示模态的元素。我已经在模态框中设置了属性,在后面的代码中我使用了以下代码块(我在几个不同的地方试过了
If (_targetControlId <> "") Then
Dim targetControl As WebControl = Me.Page.FindControl(_targetControlId)
targetControl.Attributes.Add("onclick", "test1();")
targetControl.Attributes.Add("onclick", "test2();")
End If
当我尝试向其添加属性时,targetControl总是会变为NULL,并导致页面崩溃。我已经仔细检查了targetControlId的拼写,我正在指定一个runat =“server”的控件。服务器控件访问其包含页面上的其他控件的正确方法是什么?
谢谢,
麦克
答案 0 :(得分:0)
首先,我应该指出,您正在寻找的行为已经存在于免费的开源ModalPopupExtender附带的AjaxControlToolkit中。我建议你使用它。如果您仍然确定要编写自己的代码,那么我建议您至少查看一下代码,看看它们是如何进行的。 ExtenderControlBase.FindControlHelper
是一个很好的起点。