-1

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つです(両方とも)。

4

1 に答える 1

0

Nameプロパティの1つである可能性がありますが、c.MenuId == id失敗し続けると、有用なデータやdata.Options[0]で応答することは決してないようです。

@zerkmsが言ったようにconsole.log、受信データと受信したJSONの内容を確認します。

于 2012-09-17T06:02:56.050 に答える