我有以下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;
}
答案 0 :(得分:2)
您可以使用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;
,然后在@Html.Raw(ViewData["Json"])
标记中使用<script>
视图。
示例:
<script type="text/javascript">
var xyz = @Html.Raw(ViewData["Json"]);
console.log(xyz);
</script>