2011-04-01 3 views
1

코드 숨김 (C#)에서 자바 스크립트로 List<ClassName> & count (int)를 반환하고 싶습니다. 내가 어떻게 할 수 있니?C#에서 Javascript로 List & Integer를 반환하는 방법

+0

무엇의 목록을 체크 아웃하는 방법 자세한 내용은

? – Sapph

+0

모든 클래스 목록 EmpDetails – Tuscan

+0

특정 상황에 대한 자세한 정보가 도움이 될 수 있지만 일반적 조언으로 JSON 양식으로 yor 데이터를 반환하는 웹 서비스에 AJAX POST를 수행 할 수 있습니다. – Sapph

답변

3

당신은 JavaScriptSerializer를 사용할 수 있습니다

var myClass = new ClassName(); 

... 

var jSon = new JavaScriptSerializer(); 
var OutPut = jSon.Serialize(myClass); 

Response.Write(OutPut); 

을 당신이 네임 스페이스를 가져올 수 있습니다 System.Web.Script.Serialization

UPDATE :

<script type="text/javascript"> 
    $(document).ready(function() { 
     $.ajax({ 
      type: 'POST', 
      url: 'WebForm2.aspx', 
      data: {}, 
      dataType: 'json', 
      complete: function(XMLHttpRequest, textStatus) { 
       var Response = $.parseJSON(XMLHttpRequest.responseText); 
       alert(Response.Classes[0].Name); 
      } 
     }); 
    }); 
</script> 
: 당신은 요청을 게시 할 jQuery를 사용할 수

ASP.NET에 대한

public partial class WebForm2 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

     var classWrapper = new ClassWrapper(); 

     classWrapper.Classes.Add(new ClassName() { Name = "Test 1" }); 
     classWrapper.Classes.Add(new ClassName() { Name = "Test 2" }); 
     classWrapper.Classes.Add(new ClassName() { Name = "Test 3" }); 
     classWrapper.Count = classWrapper.Classes.Count; 


     var jSon = new JavaScriptSerializer(); 
     var OutPut = jSon.Serialize(classWrapper); 

     Response.Write(OutPut); 
    } 
} 

public class ClassWrapper 
{ 
    public ClassWrapper() 
    { 
     Classes = new List<ClassName>(); 
    } 
    public List<ClassName> Classes { get; set; } 
    public int Count { get; set; } 
} 

public class ClassName 
{ 
    public string Name { get; set; } 
} 

거의 트릭 (MVC에 쉬울 것) : 이것은 코드 숨김입니다. WebForm2.aspx의 HTML에

모든 HTML을 제거하지만 페이지 지시문을 떠나 :

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="AutocompleteASPNET.WebForm2" %> 
2

달성에 필요한 기능에 가장 좋은 방법은 Ajax를 사용하는 것입니다.

코드 숨김 페이지 메서드를 만들고 자바 스크립트를 통해 클라이언트 쪽에서 해당 메서드를 호출하십시오. , JQuery와 서버 측의 메소드를 호출 다음 링크

Using jQuery to directly call ASP.NET AJAX page methods

관련 문제