从母版页获取客户端页面的 ModalPopupExtender 控件

Get ModalPopupExtender Control to client page from Master page

我有一个母版页,我在其中使用 modalpopupextender,在该母版页下有登录表单。现在在我的客户端 (aspx) 页面中,我想使用来自该 modalpopupextender 的相同登录表单。所以我试图从母版页获取它的控制权,但它给了我错误。

对象引用未设置为对象的实例。

客户端页面(代码隐藏)

 Private Sub orderButton_Click(sender As Object, e As EventArgs) Handles orderButton.Click
        Dim mploginM As AjaxControlToolkit.ModalPopupExtender = DirectCast(Page.Master.FindControl("mp0"), AjaxControlToolkit.ModalPopupExtender)
    If HttpContext.Current.Request.Cookies("chkusername") Is Nothing Then
        mploginM.Show()
    End If
End Sub

但点击后(当 cookies chkusername 为空时)它没有显示登录表单弹出窗口。我检查了母版页中的 ModalPopupExtender ID,它是正确的。这是我做错了什么吗?

带有母版页的页面似乎存在命名问题。简而言之,您需要调用 FindControl 两次 - 一次是母版页,一次是内容页。

请参阅此线程以获取代码示例:Find a control on a page with a master page