将数组从MVC控制器传递到Jquery

时间:2014-09-05 10:23:06

标签: javascript jquery asp.net-mvc razor

我想将一个整数数组从控制器传递给jquery,这样我就可以收集这些值,并且根据这些值,我会在部分视图中检查复选框。

我该怎么做?

我的控制器代码如下:

[HttpGet]
public PartialViewResult EditPartialView(string id)
{
    int selectedRoleId = Convert.ToInt32(id);
    Role selectedRole = objRP.GetRoleByID(selectedRoleId);            

    Array RoleAccessMap = entities.RoleAccessMaps.Where(x => (x.Role_ID == selectedRole.Role_ID && x.Project_ID == selectedRole.Project_ID)).ToArray();
    int count = RoleAccessMap.Length;

    for (int i = 0; i < count; i++)
    {
        int? RAM_Id = ((AgileMVC_EL.RoleAccessMap[])(RoleAccessMap))[i].RAM_ID;
        int? item_id = ((AgileMVC_EL.RoleAccessMap[])(RoleAccessMap))[i].Item_ID;
        int? actionValue = ((AgileMVC_EL.RoleAccessMap[])(RoleAccessMap))[i].Action_Value;

        // i want to put code for javascript/jquery function here.
    }
    return PartialView("Edit", selectedRole);
}

我想将这些值(RAM_ID,item_ID,actioValue)传递给jquery函数。

2 个答案:

答案 0 :(得分:1)

最好的方法是使用Viewbag,如下所示:

只需从for循环(在控制器操作'EditPartialView'中)创建一个数组,然后将其放在Viewbag.data内。

在View中将Jquery中的Viewbag.data值检索为:

var array = [];
var array = @Html.Raw(Json.Encode(@ViewBag.data));
for(var i =0; i<array.length;i++){......}

答案 1 :(得分:0)

您可以使用Controller返回的json对象

使用jQuery.ajax() dataType:'json'选项

调用该控制器