Fillin jqGrid依赖于url参数

时间:2013-07-29 15:13:31

标签: c# javascript jquery asp.net-mvc jqgrid

我使用c#,mvc,jqGrid和Trirand.Web.Mvc 我有两个页面,第一页是带有角色的网格,第二个是带有权限的网格。依赖于第一页上的选定角色,我想将用户重定向到第二页(对于链接/ {controller} / {action} / {id}),并依赖{id}填写第二个网格中的权限。 我实现了一些代码。这是默认方法,这里我有来自url的正确id

public ActionResult RightList(int id = 0)
{
  int roleID = id;
  var gridModel = new RightJQGridModel();
  RightJQGrid_SetUpGrid(gridModel.RightJQGrid);
  // Pass the custmomized grid model to the View
  return View(gridModel);
}

但后来cshtml文件开始呈现,JavaScript将第二个请求发送到方法RightJqGrid_DataRequested()以使用权限填充网格。 我的问题是第二个JavaScript请求不包含RoleID。 我可以在Request.UrlReferrer.ToString()中找到这个id但我需要解析它,从我的角度来看它是不正确的。 你能给我一些提示吗?我做对了吗?同一案件的最佳策略是什么?

1 个答案:

答案 0 :(得分:0)

角色:

<script type="text/javascript"> function redirectToRights() 
{ 
    var id = $('#jqGridRoles').jqGrid('getGridParam', 'selrow'); 
    var _url = '@Url.Action("RightList", "Right", new { id = "_id" })';
    window.location.href = url.replace("_id", _id); 
} 
</script>
@using (Html.BeginForm(null, null, FormMethod.Get, 
new { 
    name = "frmRoleList", 
    id = "frmRoleList" })) { @Html.Trirand().JQGrid(Model.RoleJQGrid, "jqGridRoles") 
} 

权利:

@using (Html.BeginForm(null, null, FormMethod.Get, 
new { name = "frmRightList", id = "frmRightList" }))
{
  @Html.Trirand().JQGrid(Model.RightJQGrid, "jqGridRights")
}