2013-02-06 39 views
14

Tôi đang lắp ráp một vài dòng trong JavaScript bằng cách sử dụng Dao cạo. Tôi nghĩ cách dễ nhất là lắp ráp toàn bộ khối JavaScript trước, sau đó xuất toàn bộ nội dung. Vấn đề là, các dấu nháy đơn được trả về là & # 39 ;.Dấu nháy đơn đầu ra trong chuỗi JavaScript tạo ra dao cạo

Có thể thay đổi dòng cuối cùng để có được điều này để viết một cách chính xác:

var friendArray = new Array(); 
    @{ 
     int i = 0; 
     string jsString=""; 
     foreach(var friend in friends) 
     { 
      jsString = jsString + "friendArray["; 
      jsString = jsString + i.ToString(); 
      jsString = jsString + "]='"; 
      jsString = jsString + friend.displayname; 
      jsString = jsString + "';"; 
      i++; 
     } 
     @jsString; 
    } 

Trên đây tạo ra này:

friendArray[0]=& #39;Hollister& #39;;friendArray[1]=& #39;Festus& #39;; 

Trả lời

27

Bạn có thể tắt mã hóa HTML bằng cách xuất ra theo cách này :

@Html.Raw(jsString) 
+1

Điều đó có hiệu quả. Trên thực tế tôi đã thử nó trước đó, nhưng tôi không nghĩ rằng tôi cần phải tiền tố @ vì vậy không có gì đã viết. Cảm ơn. – Dave

+1

@Dave: Vâng, không có nó bạn đang ở trong C# -mode, do đó, các lực lượng @ dao cạo/chế độ html do đó thực sự xuất kết quả. –

+3

Đây là một cách có thể cho việc chèn tập lệnh nếu jsString đó không đáng tin cậy. Hãy rất cẩn thận. – Bon

Các vấn đề liên quan