调用函数
时出现此错误 static public void DisplayAJAXMessage(Control page, string msg)
{
string myScript = String.Format("alert('{0}');", msg);
ScriptManager.RegisterStartupScript(page, page.GetType(), "MyScript", myScript, true);
}
调用此功能:
string sampledata = "Name :zzzzzzzzzzzzzzzz<br>Phone :00000000000000<br>Country :India";
string sample = sampledata.Replace("<br>", "\n");
MsgBox.DisplayAJAXMessage(this, sample);
我需要在下一行显示姓名,电话和国家/地区。
答案 0 :(得分:8)
未终止的字符串常量意味着您忘记关闭字符串。您不能拥有跨多行运行的警报。当脚本输出到浏览器时,它实际上包括新行..而不是像javascript所期望的那样“\ n”。这意味着,您的提醒呼叫将超过多行......就像这样:
alert('Name :zzzzzzzzzzzzzzzz
Phone :00000000000000
Country :India');
..这将无效,并将产生您所看到的错误。尝试使用双反斜杠来逃避反斜杠:
string sample = sampledata.Replace("<br>", "\\n");
答案 1 :(得分:2)
"\n"
是C#的换行符,即你的js包含:
something('...blah foo
bar ...');
你实际想要的是js中的换行符:
something('...blah foo\nbar ...');
你可以用:
string sample = sampledata.Replace("<br>", "\\n");
或:
string sample = sampledata.Replace("<br>", @"\n");
答案 2 :(得分:0)
您需要转义/编码JavaScript
消耗的字符串:
答案 3 :(得分:0)
你的Unterminated不在C#中,是在Javascript生成的代码中。