3

我对使用 JQGRID 有疑问。

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

谁能帮我这个?
我真的不知道我将如何开始创建这个。
我是使用 JQGrid 和会话的新手

谢谢

这是我的代码。

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

2 回答 2

0

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

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;
        }
于 2013-04-15T07:01:48.527 回答
0

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

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

在您的 C# 页面中...

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

然后在您拥有 ID 后在您的 javascript 中执行此操作...

$.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 中进行适当的错误处理,确保会话存在,等等...

于 2013-04-15T07:30:12.477 回答