获取行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"] %>';
}
如果行号不同于行号,则可以包含一个额外的字段来存储行号(就像在代码中使用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中有适当的错误处理,确保会话存在,等等…