在我的.cs文件中定义 string SortExpression;用来记住我的排序key可是我点翻页这个怎么就变null了?

0_0 2002-06-14 03:40:49
在我的aspx.cs文件中定义string SortExpression;用来记住我的排序key可是我点翻页这个怎么就变null了?
string SortExpression;
ICollection CreateDataSource()
{
sqlDataAdapter1.Fill(dataSet11);
dataView1.Sort=SortExpression;
return dataView1;
}

private void Page_Load(object sender, System.EventArgs e)
{
if (SortExpression == "")
SortExpression = "UserCode";
if (!Page.IsPostBack)
{
DataGrid1.DataSource = CreateDataSource();
DataGrid1.CurrentPageIndex = 0;
DataGrid1.DataBind();
}
}
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.DataSource = CreateDataSource();
DataGrid1.CurrentPageIndex = e.NewPageIndex;
DataGrid1.DataBind();
}

private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
SortExpression = e.SortExpression.ToString();
DataGrid1.DataSource = CreateDataSource();
DataGrid1.CurrentPageIndex = 0;
DataGrid1.DataBind();
}
...全文
96 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
icefireren 2002-06-14
  • 打赏
  • 举报
回复
当你翻页时,页面又向服务端递交了一次,你的变量均恢复成默认值,所以只能采取些特殊方法保存值,ViewState是不错的方法,相当于页面上的隐藏字段,具体方法上面说过了
juqiang 2002-06-14
  • 打赏
  • 举报
回复
放到viewstate里面,听楼上的老大就可以了!
nohbday 2002-06-14
  • 打赏
  • 举报
回复
翻页事件会导致页面里的变量类型重新定义
所以翻页后你的string类型的变量SortExpression会变成null
如果你不想改动你的程序可以使用viewstate类型
即将变量SortExpression换成ViewState["SortExpression"]
ViewState的使用类似于Session的使用
mbm 2002-06-14
  • 打赏
  • 举报
回复
接上面的那段代码,忘写了
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex=e.NewPageIndex;
BindGrid();
}
redcaff_l 2002-06-14
  • 打赏
  • 举报
回复
把 if (SortExpression == "")
SortExpression = "UserCode";
放到if (!Page.IsPostBack){}里面试试看。
mbm 2002-06-14
  • 打赏
  • 举报
回复
你运气真好,刚编了一段这样的代码。
不懂再问
private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
DataView myview=((DataSet)ViewState["ds"]).Tables[0].DefaultView;
myview.Sort=e.SortExpression;

ViewState["sort"]=e.SortExpression;
DataGrid1.DataSource=myview;
DataGrid1.DataBind();
}


private void BindGrid()
{
string sql="select cLicense,cType,cOwner from t_CarRegister";
DataSet ds=publicClass.DataBase.ReturnDataSet(sql);
ViewState["ds"]=ds;
DataView myview=ds.Tables[0].DefaultView;
if (ViewState["sort"]!=null)
{
myview.Sort=(string)ViewState["sort"];
}
DataGrid1.DataSource=myview;
DataGrid1.DataBind();
}

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧