2012-10-17 2 views
0

ASCX.CS클라이언트 측에서 JSON 문자열을 렌더링 할 수없는

protected string BindData() 
    { 
    List<Product> products = product.GetRepeaterData(prod); 
    string json = JsonConvert.SerializeObject(products); 
    return json; 
    } 

ASCX는

<script type="text/javascript" language="javascript"> 
function doSomething() { 

    $.ajax({ 
     type: "POST", 
     url: "/ProgramListSimple.aspx/BindData", 
     data: "{}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (msg) { 
      alert(msg); 
     } 
    }); 
}; 

나는 잘 모릅니다 어떤 경고 .. 난을 볼 수 아니다 이 코드는 사용자 컨트롤에 대한 것입니다 & aspx 페이지에 그게 중요합니까? 디버깅하는 동안 직렬화 된 데이터를 json 문자열로 볼 수 있습니다. 클라이언트 측에서 렌더링하지 않는다는 것입니다 .... 아침부터 지금 작업하고 있습니다. 도움이 필요합니다. 어떤 예나 다른 문서도 유용 할 수 있습니다.

+1

'alert()'대신'console.log()'를 사용하면 디버거 콘솔에서 전체 JSON 객체를 볼 수 있습니다. 'alert()'는 문자열만을 보여줄 수 있습니다. – Blazemonger

+0

@Blazemonger가 작동하지 않습니다. 콘솔에서도 볼 수 없습니다. – Scorpio

+0

빈 파일이'/ ProgramListSimple.aspx/BindData'에 의해 반환되고 있음을 나타냅니다. success : function (msg) { console.log (msg); }'이 (가) 스크립트가 정상적으로 표시 되더라도 무엇이든지 표시해야합니다. – Blazemonger

답변

1

새 aspx 페이지를 만들었습니다. 논리 뒤에 숨겨진 모든 코드를 ascx.cs.as에서 aspx.cs로 전송했습니다. 이 후 다른 작업을 위해 난 그냥 매우 중요 수정의 작은 부분을 추가

 type: "GET", 
     url:'<%=VirtualPathUtility.ToAbsolute("~/ProgramListSimpledetail.aspx") %>', 
     data: dataObject, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (data) 

의인 아약스 콜백을 사용하여 내 ASCX 페이지에서 aspx 페이지의 URL을 호출이 있었다 것들을 잔뜩 있었다 ascx 페이지가 apsx 페이지에서 속성을 상속 받도록 만들었지 만, 이것이 주로 내 코드와 관련이 있다고 생각합니다 ... 그래서 나는 이것이 미래에 누군가를 돕기를 희망합니다. 기여하고자하는 모든 사람들에게 감사드립니다.

1

d 속성

을 사용해야합니다.
alert(msg.d); 

당신이 자바 스크립트 객체 검사 다음 사용 디버그 크롬이나 파이어 폭스를 사용하는 경우 :

console.log("%o", msg); 

크롬 언론을 Ctrl 키 + 시프트을 + 개발자 콘솔을 표시하는 J

+0

고마워요 ... – Scorpio

+0

콘솔.log ("% o", msg); ReferenceError : msg가 정의되지 않았습니다. 콘솔에서이 오류 메시지가 나타납니다. – Scorpio

+1

''alert'' 함수의 바로 아래에'alert ("msg"); – Jupaol

관련 문제