2013-07-29 8 views
0

Я использую C#, mvc, jqGrid и Trirand.Web.Mvc У меня есть две страницы, на первой странице - сетка с ролями и вторая решетка с правами. В зависимости от выбранной роли на первой странице я хотел бы перенаправить пользователя на вторую страницу (для link/{controller}/{action}/{id}) и зависеть от {id} заполнить вторую сетку правами. Я реализовал некоторые из кода. Этот метод используется по умолчанию, и здесь у меня есть правильный идентификатор из URLFillin jqGrid зависит от параметра 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(), чтобы заполнить сетку с правами. Моя проблема заключается в том, что второй запрос JavaScript не содержит идентификатор RoleID. Я могу найти этот id в Request.UrlReferrer.ToString(), но мне нужно его разделить, и с моей точки зрения это неверно. Не могли бы вы дать мне несколько советов? Правильно ли я поступаю? Какова лучшая стратегия для тех же случаев?

+0

Можете ли вы показать код на cshtml с определением jqgrid? – Nilesh

+0

Возможно, это не очень хороший пример, но я думаю, что он должен прояснить проблему. – user1820916

ответ

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") 
} 
Смежные вопросы