我正在尝试在我的.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时阻止换行?
答案 0 :(得分:4)
避免使用字符串连接,而是使用StringBuilder类来避免内存泄漏。你有Append()和AppendLine方法。在追加之前使用Trim()删除不必要的换行符。
答案 1 :(得分:3)
您应该使用静态方法String.Trim()清理字符串。例如,
row["id_pieza"].ToString().Trim()
将删除空格字符并删除新行。在要删除空格字符的任何位置调用String.Trim()。
此外,建议不要在aspx标记内进行字符串连接。我建议在你的代码中使用StringBuilder并在标记中呈现格式化的字符串。