刷新后在asp.net中排序gridview

时间:2012-11-13 15:19:03

标签: vb.net sorting refresh dopostback

我在asp页面中使用sql数据源创建了一个网格。因此,在构建控件中使用asp.net自动完成排序(没有为vb.net中的排序添加代码)。

但如果我刷新页面或者我转到其他页面,排序顺序就会消失。

有没有办法捕获先前的排序顺序(排序方向和排序表达式)?

1 个答案:

答案 0 :(得分:2)

在页面PreRender上,事件存储GridView.SortDirectionGridView.SortExpression属性的当前值,例如Session

this.Session[this.GetType().FullName + ".GridView.SortDirection"] = this.GridView.SortDirection;
this.Session[this.GetType().FullName + ".GridView.SortExpression"] = this.GridView.SortExpression;

在页面Init上执行此代码:

if (!this.IsPostBack && this.Session.Contains(this.GetType.FullName + ".GridView.SortDirection"))
{
    this.GridView.SortDirection = (SortDirection)this.Session[this.GetType().FullName + ".GridView.SortDirection"];
    this.GridView.SortExpression = (string)this.Session[this.GetType().FullName + ".GridView.SortExpression"];
}