我使用ScriptManager.RegisterStartupScript遇到了这个奇怪的问题。基本上当我点击一个按钮控件时我想要完成它,它会回到服务器,检查是否有任何错误,我想要发生什么是如果有任何错误,想要使用弹出框。按钮控件位于更新面板中。我认为最简单的方法是使用javascript警告框。所以我终于让它工作了但是当警报框出现时它会弄乱我的菜单控件,直到警报框开始然后它就可以了。它有点难以解释,所以我插入一个图像,告诉你们一旦点击按钮你们会发生什么。如果有人可以指出我正确的方向,我不知道如何修复或发生什么事。他也是我的代码使用。
Protected Sub btnPlan_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnPlan.Click
'Dim sb As New System.Text.StringBuilder
sb.Append("<script language='javascript'>")
sb.Append("alert(' No data in the database ');")
sb.Append("</script>")
If (Not ClientScript.IsStartupScriptRegistered("JSScript")) Then
ScriptManager.RegisterStartupScript(UpdatePanel5, Me.GetType(), "JSScript", sb.toString(), True)
End If
答案 0 :(得分:1)
您可以尝试使用RegisterClientScriptBlock:
Protected Overrides Sub Page_Load(ByVal sender as Object, ByVal e As System.EventArgs)
MyBase.Page_Load(sender, e)
Try
If Not ScriptManager.IsInAsyncPostBack Then
Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "AlertScript", "<script type='text/javascript' language='javascript'>function YourAlert(){alert(' No data in the database ');}</script>")
EndIf
Catch ex As Exception
End Try
End Sub
答案 1 :(得分:0)
感谢你的所有建议。我以不同的方式剥了皮,让它以我想要的方式工作。我所做的是将消息放在隐藏的文本框中,并使用jquery确保页面已经加载,然后在需要时提醒消息。