javascript - 将 C# 自定义数组传递给 JavaScript

标签 javascript c# arrays

我有以下 C# 数组,我想将其传递给 JavaScript。实现这一目标的最佳方法是什么?谢谢你?

public static List<ListDetail> GetMyList()
{
    List<ListDetail> myList = new List<ListDetail>();
    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;
}

最佳答案

您可以使用 JsonConvert 将对象转换为 JSON 字符串,以便 JavaScript 可以轻松操作它们

// declare variable on your class
public string strJson; 
...  
// assign value in relevant method
strJson = Newtonsoft.Json.JsonConvert.SerializeObject(new myList);

然后您需要做的就是在前端网站中公开该字符串。

如果您使用网络表单,您可以使用 <%=strJson %>里面 <script>标签。或者,您可以使用文字。

示例:

<script type="text/javascript">
    var xyz = <%=strJson%>;
    console.log(xyz);
</script>

或者,如果您使用 MVC,则可以使用 ViewData["Json"] = strJson;在你的 Controller 中,然后 @Html.Raw(ViewData["Json"])里面 <script> View 中的标签。

示例:

<script type="text/javascript">
    var xyz = @Html.Raw(ViewData["Json"]);
    console.log(xyz);
</script>

关于javascript - 将 C# 自定义数组传递给 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39062957/

相关文章:

javascript - 我如何在angularjs中滚动一个div

c# - 在xaml中更改listviewitem的前景色

c# - Netsuite Suitetalk 服务引用在 ASP.NET 和 Visual Studio 中不起作用

java - 将 String 转换为 int 数组,java.lang.ArrayIndexOutOfBoundsException : 6

arrays - Array.new(10, & :next) in ruby 下面是什么

javascript - JS、jQuery 冲突..有帮助吗?

javascript - 将 Sequelize 与 bcrypt async 一起使用

javascript - jQuery UI 选项卡切换不起作用

c# - C#中的 bool 变量和字符串值比较

c++ - 在类中声明对象的数组大小