如何使用RegisterStartupScript调用jquery对话框?

我有以下vb.net,它工作得很好

Public Shared Sub createAlert(ByVal page As Page, ByVal msg As String) msg = msg.Replace(vbCrLf, "\n").Replace("'", "\'") page.ClientScript.RegisterStartupScript(page.GetType, "clientScript", "alert('" & msg & "');") End Sub 

现在我想实现这个http://jsfiddle.net/WrdM9/2/ 。 它是一个jquery对话框,3秒后自动关闭

我试过以下没有运气我做错了什么?

 Public Shared Sub AlertAutoClose(ByVal page As Page, ByVal msg As String) Dim sScript As String sScript = "$(document).ready(function(){$('#dialog').html('some message');});" sScript += "$(document).ready(function(){$('#dialog').dialog({" sScript += "autoOpen: true," sScript += "show: ""blind""," sScript += "hide: ""explode""," sScript += "modal: true," sScript += "open: function(event, ui) {" sScript += "setTimeout(function(){" sScript += "$('#dialog').dialog('close'); " sScript += "}, 3000);" sScript += "}" sScript += "});});" msg = msg.Replace(vbCrLf, "\n").Replace("'", "\'") page.ClientScript.RegisterStartupScript(page.GetType, "Script", sScript) End Sub 

当您在脚本标记中引用脚本文件(如src =“js / jquery.js”)时,脚本标记之间的内容将不会被执行,并且在技术上是非法的。 因此,您只需要将其分解为单独的脚本标记。 这将有效:

   

这不会:

  

我认为第一个问题是你输入的内容有2个双引号。 我认为它需要

  

确保您也传递了Jquery文件的正确路径。

您还可以通过在aspx / html页面标记上添加jquery脚本来排除jquery。 你会把你的字符串更改为

  

我将代码更改为此。 它现在正在运作

 sScript = "" sScript += "" msg = msg.Replace(vbCrLf, "\n").Replace("'", "\'") page.ClientScript.RegisterStartupScript(page.GetType, "Script", sScript)