Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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
C# 如何清理异常字符串,以便通过Javascript警报显示它?_C#_Javascript_Asp.net - Fatal编程技术网

C# 如何清理异常字符串,以便通过Javascript警报显示它?

C# 如何清理异常字符串,以便通过Javascript警报显示它?,c#,javascript,asp.net,C#,Javascript,Asp.net,我试图以一种由来已久的方式显示异常字符串:- Page page = HttpContext.Current.CurrentHandler as Page; if (page != null && !page.ClientScript.IsClientScriptBlockRegistered("alert")) { page.ClientScript.RegisterClientScriptBlock( typeof(Alert),

我试图以一种由来已久的方式显示异常字符串:-

Page page = HttpContext.Current.CurrentHandler as Page;

if (page != null && !page.ClientScript.IsClientScriptBlockRegistered("alert"))
{
    page.ClientScript.RegisterClientScriptBlock(
                  typeof(Alert),
                  "alert",
                  "<script type=\"text/javascript\">alert(\"Fred\");</script>");
}

该字符串包含的控制字符数量令人遗憾,但据我所知,没有任何
字符。是否有一个可以调用的函数来清理字符串,以便通过Javascript警报显示该字符串?这家伙也有类似的问题,但没有通用的解决方案。

在显示消息之前,您需要序列化消息,因为它可能包含破坏JS的字符。你可以使用这个类

例如:

var errorMsg = new JavaScriptSerializer().Serialize(error_message);
page.ClientScript.RegisterClientScriptBlock(
   typeof(Alert),
   "alert",
   "<script type=\"text/javascript\">alert(\"" + errorMsg + "\");</script>");
var errorMsg=new JavaScriptSerializer().Serialize(错误消息);
page.ClientScript.RegisterClientScriptBlock(
类型(警报),
“警报”,
“警报(\”“+errorMsg+”\”);

您是否查看了源代码并查看了实际输出的内容?我猜您有换行符。请尝试使用转义字符串。请访问.NET 3.5+中支持的此only@banging我在OP中看不到任何需要针对特定框架版本的解决方案的内容。如果这成为一个问题,那么我将推荐另一个选项,例如在呈现字符串之前对其进行HTML编码。感谢您的帮助,但是由此产生的字符串产生了一个错误,抱怨缺少
,给出的位置位于
类型中的
y
。此后,我尝试了Sain Pradeep评论中提到的问题中给出的解决方案,它产生了预期的输出。
Unterminated String Constant
var errorMsg = new JavaScriptSerializer().Serialize(error_message);
page.ClientScript.RegisterClientScriptBlock(
   typeof(Alert),
   "alert",
   "<script type=\"text/javascript\">alert(\"" + errorMsg + "\");</script>");