我在使用JQGRID时遇到问题。
如何获取jqgrid的行号然后
将其存储在会话中。
任何人都可以帮我吗?
我真的不知道我将如何开始创建它。
我是使用JQGrid和会话的新手
谢谢你
这是我的代码。
function beforeSelect(rowid, e) {
grid = $("#<%= jqgrid.ClientID %>");
ItemID = grid.jqGrid('getCell', rowid, 'ItemID');
var sessionItemID = '<%=Session["ItemID"] %>';
}
答案 0 :(得分:0)
如果您的rownumber与rowid不同,您可以包含一个额外的字段来存储行号(就像您在代码中使用itemId一样)。否则,您将需要遍历网格以搜索特定的rowid并使用计数器来获取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;
}
答案 1 :(得分: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中进行适当的错误处理,确保会话存在等等......