我有一个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());
}
我不知道我应该在这里使用哪个事件处理程序?当我进行页面索引更改时,它没有调用此函数!有什么帮助吗?
答案 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/。