将一个 C# 自定义数组传递给 JavaScript。
将一个 C# 自定义数组传递给 JavaScript。
我有一个以下的C#数组,我想将它传递给JavaScript。有什么最好的方法来实现它?谢谢。
public static ListGetMyList() { 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; }
问题的原因:在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类。