2016-08-21 2 views
0

다음 C# 배열이 있고 JavaScript로 전달하고 싶습니다. 그것을 성취하는 가장 좋은 방법은 무엇입니까? 고맙습니다?JavaScript에 C# 사용자 정의 배열 전달

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

? 서버 측 코드에서 웹 페이지로? – kemiller2002

+0

읽어보기 : http://stackoverflow.com/questions/11345382/convert-object-to-json-string-in-c-sharp –

답변

2

당신은 JSON 문자열로 개체를 변환 JsonConvert을 사용할 수 있습니다, 그래서 그들은 쉽게 자바 스크립트

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

당신이 다음 할 필요가 프런트 엔드에서 문자열을 노출이다 조작 할 수 있습니다 웹 사이트.

웹 양식을 사용하는 경우 <script> 태그 안에 <%=strJson %>을 사용할 수 있습니다. 또는 리터럴을 사용할 수 있습니다.

예 :

<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> 
+0

답장을 보내 주셔서 감사합니다. 그런 다음 JSON을 배열로 변환하려면 어떻게해야합니까? – Ado

+0

'Newtonsoft.Json.Linq.JArray.Parse (strJson)'배열을 사용하거나'Newtonsoft.Json.Linq.JObject.Parse (strJson)'객체를 사용할 수 있습니다. 또는'Newtonsoft.Json.JsonConvert.DeserializeObject()'를 사용하여 문자열을 특정 .NET 클래스로 역 직렬화 할 수 있습니다. – Delosdos