我有以下 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/