如何在代码后面的JavaScript函数中传递自定义字符串?

时间:2015-05-11 14:19:01

标签: javascript c# c#-4.0

我有一个像这样的字符串结构:

    string str = "[['<h1>Heading 1</h1><p>Paragraph 1</p><p>Paragraph 2</p><p>Paragraph 3</p>', 31, 32,1],
['<h1>Heading 1</h1><p>Paragraph 1</p><p>Paragraph 2</p><p>Paragraph 3</p>', 34, 35,2]]";

我试图在javascript函数中传递此字符串,但警报不起作用。如何在JS函数中传递此字符串。到目前为止,我已经尝试了这个,但它无法正常工作

ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "test", "test('" + str + "')", true);

JS

 function test(str) {

    alert(str);
 }

2 个答案:

答案 0 :(得分:1)

当您检查生成的javascript时,它将以test('[['开头 - 然后其余部分不会被识别为字符串内容,并会出现javascript错误。

您需要使用HttpUtility.JavaScriptStringEncode来转义字符串:

ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "test",
 "test('" + HttpUtility.JavaScriptStringEncode(str) + "')", true);

答案 1 :(得分:0)

你可以使用本机浏览器JSON stringify函数..就像这样..

function test(str){
    alert( JSON.stringify( str ) ) ;
}

你应该弹出一个阵列..

HTH