无论如何要从内容页面updatepanel修改母版页控件?

时间:2014-03-30 08:47:37

标签: asp.net ajax master-pages

以下是我为Web应用程序提供的单源弹出模式。 我在一个单独的类中将一个占位符放在母版页和下面的代码中。类文件接收消息并构建模态html。

这适用于完整回发,但不能在ajax更新面板中调用。

我知道为什么。我只是不知道它有什么办法。有什么想法吗?

 Public Class Common
  Inherits SiteMaster    

  Public Shared Sub showModalMsg(ByVal sMsg As String)

    Dim lbl As New Label
    lbl.Text = sMsg
    '(for simplicity, the building of the div to make the modal is omitted)


    Dim pageHandler = HttpContext.Current.CurrentHandler
    If TypeOf pageHandler Is System.Web.UI.Page Then
        Dim ph As PlaceHolder = DirectCast(pageHandler, System.Web.UI.Page).Master.FindControl("phModalDialog")
        If ph IsNot Nothing Then
            ph.Controls.Add(lbl)
        End If
    End If

 End Class

1 个答案:

答案 0 :(得分:0)

好的,这就是我的所作所为。我添加了一个名为'container'的可选变量,可以在更新面板中调用对话框时传递。

Public Shared Sub showModalMsg(ByVal sMsg As String,
                              Optional ByVal container As Control = Nothing)

我在这里发布了完整的解决方案:

How can I use a single modal across my web application and avoid repetative html on every page?