2010-10-04 63 views
0
alert("..."); 

var values = "value1 
valu2part1 value2part2 
value3 
valu4"; 
alert(values); 

我分配:的JavaScript/<text area >

var values = "<%=Model.Values%>"; 

這些值存儲在數據庫中。數值通過文本區 輸入,數據庫中的每行由\t\r分隔。

當我拿這個去使用JavaScript變量:

var values = "<%=Model.Values%>"; 

我得到一些東西一樣:

var values = "value1 
valu2part1 value2part2 
value3 
valu4"; 

但這是anerror。我能做什麼?

回答

0

在將字符串輸出到JS之前,您可以用換碼序列替換您的新行(\n)。

3
var values = "<%=Model.Values%>"; 

這是不安全的。當字符串中有換行符時(因爲JavaScript字符串不能跨越多行),它不僅會失敗,還可能是該值中的"提前結束字符串。如果該值包含用戶提交的數據,那就是腳本注入安全漏洞(XSS)。

要創建JS文字語法,請使用JSON序列化程序。例如與JavaScriptSerializer

var values= <%= new JavaScriptSerializer().Serialize(Model.Values) %>; 

或如Json.NET,如果你是在舊版本的.NET。