将一个 C# 自定义数组传递给 JavaScript。

7 浏览
0 Comments

将一个 C# 自定义数组传递给 JavaScript。

我有一个以下的C#数组,我想将它传递给JavaScript。有什么最好的方法来实现它?谢谢。

public static List GetMyList()
{
    List myList = new List();
    myList.Add(new ListDetail() { Id = 1, Name = "Party" });
    myList.Add(new ListDetail() { Id = 2, Name = "Course" });
    myList.Add(new ListDetail() { Id = 3, Name = "Home" });
    return myList.ToArray;
}

0
0 Comments

问题的原因:在C#中创建了一个自定义数组,并希望将其传递给JavaScript进行处理。然而,C#和JavaScript是两种不同的编程语言,它们使用不同的数据结构和语法,因此需要一种方法将C#数组转换为JavaScript可以处理的格式。

解决方法:可以使用JsonConvert将对象转换为JSON字符串,以便JavaScript可以轻松地处理它们。然后,在前端网站中公开这个字符串。

如果使用webforms,可以在<script>标签内使用<%=strJson %>,或者可以使用Literal。

如果使用MVC,可以在控制器中使用ViewData["Json"] = strJson;,然后在视图中的<script>标签内使用.Raw(ViewData["Json"])

接下来,如何将JSON转换为数组。可以使用Newtonsoft.Json.Linq.JArray.Parse(strJson)将其解析为数组,或者使用Newtonsoft.Json.Linq.JObject.Parse(strJson)将其解析为对象。或者可以使用Newtonsoft.Json.JsonConvert.DeserializeObject()将字符串反序列化为特定的.NET类。

0