以下是我为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
答案 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?