我有一个GridView,我在其中从有界按钮点击重定向到弹出窗口,其行值来自SELECT t FROM Topic t JOIN t.favoritedBy u WHERE :user = u
。
但它抛出异常:
指数超出范围大于127
我想更改索引的类型但不起作用。
这是我的代码:
id
答案 0 :(得分:0)
也许是这样的:
foreach (GridViewRow gvRow in gridview1.Rows)
{
if ((int)gridview1.DataKeys[gvRow.DataItemIndex].Value == index)
{
gridview1.SelectedIndex = gvRow.DataItemIndex;
break;
}
}
答案 1 :(得分:0)
尝试此操作以查找index
:
GridViewRow row = (GridViewRow)(((Control)e.CommandSource).NamingContainer);
int index = row.RowIndex;
在.aspx中的按钮中添加:
CommandArgument='<%# Container.DataItemIndex %>'
在.cs:
int index = e.CommandArgument;
使用ToInt32
代替ToInt16
:
int index = Convert.ToInt32(e.CommandArgument);