asp.net mvc控制器动作和jquery ajax问题

时间:2011-11-09 21:51:19

标签: asp.net-mvc json jquery

我想在我的JS中将JsonResult传递给我的jquery ajax:

$.ajax({
        contentType: 'application/json, charset=utf-8',
        type: "POST",
        url: "/Controller/TestJson",       
        cache: false,
        dataType: "json",

        success: function (result) {
            alert(result.length);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert('error'); 
        }

    });

在我的控制器中我有:

  public JsonResult TestJson ()
    {
        List<SelectListItem> list = new List<SelectListItem>() {
            new SelectListItem() { Value = "1", Text = "VA" },
            new SelectListItem() { Value = "2", Text = "MD" },
            new SelectListItem() { Value = "3", Text = "DC" }
             };

       return this.Json(list);
    }

当我运行它时,长度为3,但是如果我执行类似alert(result [0])的操作,我会得到[Object object] ...所以它看起来像Json(list)没有jsonify它。 ...

我在这里做错了什么?

2 个答案:

答案 0 :(得分:3)

我使用result [0] .Value来获取值和结果[0] .Text来获取text属性。希望它可以帮到某人。

答案 1 :(得分:1)

你应该尝试结果[0] .SelectListItem.Value / Text或其他属性