从Controller方法获取数组,将其传递给Javascript / JQuery

时间:2013-04-26 15:18:31

标签: c# jquery asp.net-mvc razor

所以我在我的控制器中,在C#MVC项目中使用这个测试方法(使用剃刀标记):

public virtual string[] TestArray(int id)
{
    string[] test = new string[] { "test1", "test2", "test3", "test4", "test5" };

    return test;
}

有没有办法让这个数组进入javascript?

这是我尝试过的:

function testArray(id) {
    $.get('Project/TestArray/' + id, function (data) {
        alert(data[0]);
    });
}

不言而喻,这不起作用 - 我用javascript不太好。

我怎样才能正确地完成我所描述的内容?

注意:“项目”是我的控制器的网址格式。

2 个答案:

答案 0 :(得分:3)

从控制器返回Json

public virtual ActionResult TestArray(int id)
{
    string[] test = new string[] { "test1", "test2", "test3", "test4", "test5" };

    return Json(test, JsonRequestBehavior.AllowGet);
}

使用getJSON

在js中获取Json对象
function testArray(id) {
    $.getJSON('Project/TestArray/' + id, function (data) {
        alert(data[0]);
    });
}

答案 1 :(得分:0)

使用返回JSON元素的操作:

public JsonResult TestArray(int? id)
{
    string[] test = new string[] { "test1", "test2", "test3", "test4", "test5" };
    return Json(test, JsonRequestBehavior.AllowGet);
}