填充jqGrid取决于url参数

Fillin jqGrid depend on url parameter

本文关键字:参数 url 取决于 jqGrid 填充      更新时间:2023-09-26

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

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()发送第二个请求,以用Rights填充网格。我的问题是第二个JavaScript请求不包含RoleID。我可以在Request.UrlReferrer.ToString()中找到这个id,但我需要对它进行解析,从我的角度来看,这是不正确的。你能给我一些建议吗?我做得对吗?对于同样的情况,最好的策略是什么?

角色:

<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")
}