0

私は c#、mvc、jqGrid、および Trirand.Web.Mvc を使用しています。最初のページには役割を持つグリッドがあり、2 番目のページには権限を持つグリッドがあります。ユーザーを 2 番目のページ (リンク /{controller}/{action}/{id}) にリダイレクトしたい最初のページで選択したロールに依存し、{id} に依存して 2​​ 番目のグリッドに権限を入力します。コードの一部を実装しました。これがデフォルトの方法で、ここでは 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 が 2 番目の要求をメソッド RightJqGrid_DataRequested() に送信して、グリッドに権利を入力します。私の問題は、2 番目の JavaScript リクエストに RoleID が含まれていないことです。Request.UrlReferrer.ToString() でこの ID を見つけることができますが、解析する必要があり、私の観点からは正しくありません。ヒントを教えてください。私は正しくやっていますか?同じケースの最善の戦略は何ですか?

4

1 に答える 1

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")
}
于 2013-07-30T07:21:01.990 に答える