Win API Controllerで次のコードを使用して、MenuオブジェクトとCourseOptionオブジェクトのリストを含むオブジェクトを返します。
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;
}
JavaScriptで次のコードを使用してメニュープロパティにアクセスできます
$.getJSON("/api/CourseOptionAPI/" + id, function (data) {
alert("In " + data.Menu.Name);
});
ただし、次のコードではCourseOptionプロパティにアクセスできません
alert("In " + data.Options[0].Name);
コントローラメソッドは、'combine'オブジェクトの一部としてOptionsを返しています(ブレークポイントを使用してチェックしました)。「Menu」と「CourseOption」はオブジェクトであり、「Name」は文字列型のプロパティの1つです(両方とも)。