Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带“的Javascript警报”;甜警报“;从VB.Net代码后面调用_Javascript_Jquery_Asp.net_Vb.net - Fatal编程技术网

带“的Javascript警报”;甜警报“;从VB.Net代码后面调用

带“的Javascript警报”;甜警报“;从VB.Net代码后面调用,javascript,jquery,asp.net,vb.net,Javascript,Jquery,Asp.net,Vb.net,在我的应用程序中,我使用VB.Net代码在各种页面加载和事件上触发javascript警报。我可以获得如下所示的基本警报: Dim script As String = String.Format("swal('Welcome , " + Username + "');") ScriptManager.RegisterClientScriptBlock(Page, GetType(System.Web.UI.Page), "redirect", script, True) 还有其他可用警报,

在我的应用程序中,我使用VB.Net代码在各种页面加载和事件上触发javascript警报。我可以获得如下所示的基本警报:

Dim script As String = String.Format("swal('Welcome , " + Username + "');")

ScriptManager.RegisterClientScriptBlock(Page, GetType(System.Web.UI.Page), "redirect", script, True)
还有其他可用警报,包括在警报的引号内添加对象:

swal({   
         title: "Sweet!",   
         text: "Here's a custom image.",   
         imageUrl: "images/thumbs-up.jpg" 
    });
所以我的问题是,当我想在我的代码隐藏中使用它时,我很难知道在正确的位置添加引号,对象似乎会导致语法错误

Dim script As String = String.Formatswal({   title: "Sweet!",   text: "Here's a custom image.",   imageUrl: "images/thumbs-up.jpg" });

ScriptManager.RegisterClientScriptBlock(Page, GetType(System.Web.UI.Page), "redirect", script, True)

这只是一个包含引号的字符串连接的简单例子

Dim script As String = "<script type='text/javascript'>swal({   title: ""Sweet!"",   text: ""Here's a custom image."",   imageUrl: ""images/thumbs-up.jpg"" });</script>"
Dim script As String=“swal({title:“Sweet!”,text:“这是一个自定义图像。”,imageUrl:“images/thumbs up.jpg”“)

从VB.NET/server-side透视图中,您可以通过使用另一个双引号转义来在字符串中包含双引号,JavaScript都不是代码,它只是响应中发出的字符串。因此,首先,赋予String.Format()的所有内容都必须是VB.NET字符串,并带有双引号:

Dim script As String = "just a string to VB";
Dim script As String = "<script>swal({title:'Sweet!', text:'Here's a custom image.', imageUrl:'images/thumbs-up.jpg'});</script>"
从那时起,您只需尝试使字符串的内容完全符合客户端上有效JavaScript的需要。有两种处理方法:

在字符串中需要引号字符(“”)的任何位置,请使用两个引号(“”):

Dim script As String=“swal({title:“Sweet!”,text:“这是一个自定义图像。”,imageUrl:“images/thumbs up.jpg”“);"
或者,第二种方式:JavaScript允许使用单引号(')或双引号(“)。由于VB.NET不考虑单引号一个特殊的字符,只需用单个引号替换所有的JavaScript双引号:

Dim script As String = "just a string to VB";
Dim script As String = "<script>swal({title:'Sweet!', text:'Here's a custom image.', imageUrl:'images/thumbs-up.jpg'});</script>"
Dim script As String=“swal({title:'Sweet!',text:'Here's a custom image.”,imageUrl:'images/thumbs up.jpg')
最后,String.Format用于轻松地将变量值插入字符串中。它使用{0}{1}{2}等作为替换值。然后将变量作为附加参数传入。这就是为什么你必须逃离{}查尔。下面是一个例子:

Dim script As String = String.Format("<script>swal({{title:'{0}', text:'{1}', imageUrl:'{2}'}});</script>", strTitle, strText, strImageUrl)
Dim脚本为String=String.Format(“swal({{title:'{0}',text:'{1}',imageUrl:'{2}}});”,strTitle,strText,strImageUrl)

感谢您的回复,但我尝试过了,这给我带来了一个编译错误:System.FormatException:输入字符串的格式不正确。请尝试在不使用string.format的情况下使用它。只是一个简单的字符串赋值。是的,去掉string.Format,因为它使用{}。你必须带着{{和}逃跑。只需执行简单的字符串赋值。我也会编辑我的答案来反映这一点。谢谢你提供的信息,但似乎ScriptManager.RegisterClientScriptBlock(Page,GetType(System.Web.UI.Page),“redirect”,script,True)在没有it@Johnn5er,您的脚本块需要包装在标记中。它不会为您添加它们。这可能是你问题的一部分。我将编辑我的答案。非常感谢您的帮助,但我已经尝试了这两种技术,并且都出现了编译错误“输入字符串的格式不正确”