不处理Gridview事件排序

时间:2011-05-10 18:03:01

标签: c# asp.net gridview

我有一个GV,我手动数据绑定它。但问题是它给了我这个错误:

  

Microsoft JScript运行时错误:   Sys.WebForms.PageRequestManagerServerErrorException:   GridView'gvAgentList'触发了事件   排序未处理。

页面索引相同。这是我用后面的代码编写的函数:

 protected void gvAgentList_SelectedIndexChanged(object sender, EventArgs e)
    {
        string selectedEntity; //string for Labeling in Master Page!
        int selectIdEntity; //int for storing Plan IDs in Plan Page!
        GridViewRow row = gvAgentList.SelectedRow;
        selectedEntity = row.Cells[2].Text.ToString();
        selectIdEntity = Int16.Parse(row.Cells[1].Text.ToString());
        Session["EntityIdSelected"] = selectIdEntity;
        Session["EntitySelected"] = selectedEntity;
        Response.Redirect("~/FrontEnd/Users.aspx?EntityID=" + row.Cells[1].Text.ToString());
    }

我不知道我应该在这里使用哪个事件处理程序?当我进行页面索引更改时,它没有调用此函数!有什么帮助吗?

2 个答案:

答案 0 :(得分:7)

当您手动执行数据绑定时,您必须处理它周围的所有事件。

对于排序,你应该有一个GridView的Sorting事件的处理程序(msdn doc有一个很好的例子)。

<asp:GridView ID="GridView1" OnSorting="GridView1_Sorting" />

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
    ...
}

答案 1 :(得分:0)

您可以使用JavaScript处理排序事件,您可能应该使用后端代码删除排序处理。也不要忘记一起删除AllowSorting = true。

我通常为前端处理实现jquery数据表,例如排序和不进行排序。这是一个帮助您入门的链接:http://www.datatables.net/