[英]How to use C# array to javascript array without converting to json?
我有一個C#數組,其中包含C#模型的列表:
public class AlertInfo
{
public long Id { get; set; }
public string Message { get; set; }
}
我將C#數組轉換為json,並在javascript中使用,如下所示:
JavaScriptSerializer _serializer = new JavaScriptSerializer();
string result = _serializer.Serialize(myList);
在javascript中:
jQuery.parseJSON('<%= result %>')
當Message
在jQuery.parseJSON方法中包含雙引號時引發異常(例如Message是
你好,世界”
)
有什么方法可以處理此錯誤,也可以通過其他方式將C#數組傳遞給javascript數組?
您可以使用HtmlEncode函數。
示例代碼:
string text = "you & me > them"; // 1
// Replace > with >
string htmlEncoded =Server.HtmlEncode(text); // 2
// Now has the > again.
string original =Server.HtmlDecode(htmlEncoded); // 3
輸出:
Step 1: Before encoding has occurred.
String: you & me > them
Step 2: The string is encoded for HTML.
String: you & me > them
Step 3: String is converted back from HTML.
String: you & me > them
或者,您可以在JavaScript端使用此方法。
代替
jQuery.parseJSON('<%= result %>')
簡單嘗試
<%= result %>
例如,它可能是var myVariable = <%= result %>
類的語句的一部分
由於序列化程序已經生成了JSON,並且JSON是JavaScript Object Notation,因此當它是JavaScript語句的一部分時,可以直接將其解釋為JavaScript變量。 這意味着您應該能夠直接將其注入到您的JavaScript代碼中。 它已經是JSON,因此不需要解析它(就好像它是一個字符串一樣)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.