在C#中编写javascript时防止newLine

时间:2015-11-03 15:41:26

标签: javascript c# asp.net

我正在尝试在我的.aspx页面中编写一个脚本,但它会重新调整分割输出。 这是我的C#代码:

foreach (System.Data.DataRow row in dt.Rows) {
data +="["+i+","+row["Si"]+"],";
ticks += "[" + i + ",'" + row["id_pieza"].ToString() + "'],";
i++;
}

string options = "var data = ["+data.Substring(0,data.Length-1 )+"]; var options = { lines: { show: true}, points: {show: true},xaxis: {tickDecimals: 0,tickSize: 1,ticks: ["+ticks.Substring(0,ticks.Length-1)+"]}};";


context.Response.Output.Write("<script type ='text/javascript'> "+options+" $.plot('#placeholder', [data], options); </script>");

我的输出是:

var data = [[0,5.84867],[1,5.84867],[2,5.84867],[3,5.84867]]; var options = { lines: { show: true}, points: {show: true},xaxis: {tickDecimals: 0,tickSize: 1,ticks: [[0,'65154S5270SRB0P3
'],[1,'65154S5270SRB0P4
'],[2,'65154S5270SRB0P5'],[3,'65154S5270SRB0P6']]}}; $.plot('#placeholder', [data], options);

Firefox抛出此错误:

  

“SyntaxError:unterminated string literal”。

如何在编写JavaScript时阻止换行?

2 个答案:

答案 0 :(得分:4)

避免使用字符串连接,而是使用StringBuilder类来避免内存泄漏。你有Append()和AppendLine方法。在追加之前使用Trim()删除不必要的换行符。

答案 1 :(得分:3)

您应该使用静态方法String.Trim()清理字符串。例如, row["id_pieza"].ToString().Trim()将删除空格字符并删除新行。在要删除空格字符的任何位置调用String.Trim()。

此外,建议不要在aspx标记内进行字符串连接。我建议在你的代码中使用StringBuilder并在标记中呈现格式化的字符串。