获取行id,然后将其存储在会话中

本文关键字:存储 会话 id 然后 获取 | 更新日期: 2023-09-27 18:09:19

我有一个关于使用JQGRID的问题。

如何获取jqgrid的行号呢
将其存储在会话中。

有谁能帮我一下吗?
我真的不知道如何开始创造它。
我是使用JQGrid和会话的新手
由于

这是我的代码。

function beforeSelect(rowid, e) {
                grid = $("#<%= jqgrid.ClientID %>");
                ItemID = grid.jqGrid('getCell', rowid, 'ItemID');
                var sessionItemID = '<%=Session["ItemID"] %>';
}

获取行id,然后将其存储在会话中

如果行号不同于行号,则可以包含一个额外的字段来存储行号(就像在代码中使用itemId一样)。否则,您将需要遍历网格以搜索特定的行,并使用计数器来获取rownumber:

function getRowNumber(rowId) {

            var rownumber= 0;
            $('#gridId tbody tr').each(function (i, n) {
                var $row = $(n);
                    if($row.find('td:eq(0)').text()==rowId)//Assuming rowid is the first column of jqgrid(index=0). Otherwise change the index appropriately
                    { rownumber=i; }
            });
           return rownumber;
        }

会话在服务器上可用,而jQGrid在客户机上运行。这意味着你不能使用Javascript直接影响会话。

可以做的是创建一个Ajax请求返回到服务器,并告诉c#在会话中你想要什么。

在c#页面中…

protected void Page_Load(object sender, EventArgs e) {
    Session["Id"] = Request.Querystring["Id"];
}

然后在javascript中这样做一旦你有了Id…

$.ajax({
    url: "/Path/To/SetSession.aspx",
    data: {"Id": ItemID},
    success: function(){
        alert('Stored Ok');
    },
    error: function() {
        alert('Something went wrong - check the C# page for errors and check for network issues');
    }
});

这是一个绝对最小的例子-你想在PHP中有适当的错误处理,确保会话存在,等等…