2012-09-17 8 views
-1

Win API 컨트롤러에서 다음 코드를 사용하여 Menu 개체와 CourseOption 개체 목록을 포함하는 개체를 반환합니다.JSON 요소에 액세스 할 수 없습니다.

public object GetCourseOption(int id) //Here id is Menu id 
{ 
    IEnumerable<CourseOption> courseoptions = db.CourseOptions.Where(c => c.MenuId == id); 
    Menu menu = db.Menus.Single(c => c.Id == id); 
    if (courseoptions == null) 
    { 
     throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); 
    } 

    var combine = new { Menu = menu, Options = courseoptions }; 
    return combine; 
} 

나는 등의 옵션을 반환하는 다음 코드

alert("In " + data.Options[0].Name); 

컨트롤러 방법으로 CourseOption 속성에 액세스하기 위해 자바 스크립트

$.getJSON("/api/CourseOptionAPI/" + id, function (data) { 
alert("In " + data.Menu.Name); 
}); 

하지만없는 다음 코드를 사용하여 메뉴 속성에 액세스 할 수 있습니다 '결합'객체의 일부 (중단 점을 사용하여 체크). '메뉴'와 'CourseOption'은 개체이고 '이름'은 문자열 유형의 둘 중 하나의 속성 중 하나입니다.

+1

'console.log (data); ' – zerkms

+0

어떻게 asp에서 JavaScript로 데이터를 전달합니까? 작성한 JSON 문자열의 전체 예제를 제공하십시오. – LeJared

답변

0

Name이 속성 중 하나 일 수 있지만 c.MenuId == id이 계속 실패한 것처럼 보이면 유용한 데이터와 데이터로 응답하지 않을 것입니다. 옵션 [0]은 정의되지 않습니다.

@zerkms와 마찬가지로 수신 데이터가 console.log이고 수신 한 JSON이 무엇인지 확인합니다.

+0

알았습니다. 자바 스크립트에서 'alert ("+ data.Menu.CourseOptions [0] .Name);'에 액세스해야합니다. console.log가 도움이되었습니다. 감사. – Saurabh

관련 문제