0

我正在构建一个模态框作为自定义服务器控件,并且我希望在模态框 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" 的控件。服务器控件访问其包含页面上的其他控件的正确方法是什么?

谢谢,

麦克风

4

1 回答 1

0

首先,我应该指出,您正在寻找的行为已经存在于免费的开源AjaxControlToolkit附带的ModalPopupExtender中。我建议你只使用它。如果您仍然确定要编写自己的代码,那么我建议您至少看看他们的代码,看看他们是怎么做的。 是一个很好的起点。ExtenderControlBase.FindControlHelper

于 2009-10-16T18:43:50.270 回答