gridview索引类型错误

时间:2017-11-08 10:51:08

标签: c# asp.net

我有一个GridView,我在其中从有界按钮点击重定向到弹出窗口,其行值来自SELECT t FROM Topic t JOIN t.favoritedBy u WHERE :user = u

但它抛出异常:

  

指数超出范围大于127

我想更改索引的类型但不起作用。

这是我的代码:

id

2 个答案:

答案 0 :(得分:0)

也许是这样的:

foreach (GridViewRow gvRow in gridview1.Rows)
{
    if ((int)gridview1.DataKeys[gvRow.DataItemIndex].Value == index)
    {
        gridview1.SelectedIndex = gvRow.DataItemIndex;
        break;
    }
}

答案 1 :(得分:0)

尝试此操作以查找index

选项1:

GridViewRow row = (GridViewRow)(((Control)e.CommandSource).NamingContainer);

int index = row.RowIndex;

选项2:

在.aspx中的按钮中添加:

CommandArgument='<%# Container.DataItemIndex %>'

在.cs:

int index = e.CommandArgument;

选项3:

使用ToInt32代替ToInt16

进行尝试
int index = Convert.ToInt32(e.CommandArgument);