在最近公司开发的小项目中遇到了不少问题,解决的问题的过程就是学习的过程。
今天用GridView显示一系列数据,每一行的用户名作为
超链接,点击则可以修改该行的所有数据,但是如何在修改某一行数据后返回到该行在GridView所在页面(A.aspx)的当前页呢,即不管在
GridView数据页的第几页修改数据,当数据修改后页面回到该页并刷新,用Response.Write("<Script
Language=JavaScript>history.go(-2);</Script>");
可以进行返回,但是返回后不能进行页面刷新。于是我把这个问题抛给群里面的朋友们讨论,“上帝”同学给了我很好的思路:获取修改行在GridView所在
页面的页码索引,并将其作为变量传递给修改数据的窗口(B.aspx),A窗口在接收到该变量后存ViewState。
pageindex= Convert.ToInt32(Request.QueryString["pageindex"]);
ViewState["pageindex"] = pageindex;
修改完毕提交后在B.aspx.cs隐藏页面进行处理,当修改的数据在数据库成功更新后,重定向回A.aspx
Response.Redirect("A.aspx?pageindex=" + pageindex);
A.aspx.cs接收pageindex变量后将其赋值给GridView的PageIndex,到此成功解决了前面的问题。
引用地址:http://blog.campuszp.com/article/948.htm