簡體   English   中英

如何在不轉換為json的情況下使用C#數組到javascript數組?

[英]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 &amp; me &gt; 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM