C# ASP.NET 返回上一页的通用代码
我们知道返回上一页是 history.go(-1), 如果在本页面回发N次,则返回上一页就是: history.go(-N) 。这样的优点是,不仅返回上一页(前一页,上页,前页),而且保留表单里的全部数据(众多的选择项)。如果使用Response.Redirect()直接返回就全部丢失数据,当然你也可以使用Session, cookies以及ViewState来保存恢复使用,只不过麻烦些。
以下有两种方法供选择,这些代码都是固定不变的,建议使用方法2,可多个页面同时使用。
一.
1.在后台my.aspx.cs装载函数中
2.在前台my.aspx页面加入语句:
二. 方法2:通用代码,仅需要后台代码
在需要的后台代码文件中调用如下:
1.在后台myself.aspx.cs装载函数中
2.在后台myself.aspx.cs,需要返回的函数中
3.为此,需要先建立通用的后台代码文件
文件my_common.cs
using System.Web.UI.WebControls;
using System.Net;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.SqlClient;
using System.Web.Configuration;
public class my_common
{
//这些方法都是静态的static ,类名直接调用,不用建立实例
}
三. 补充说明
Javascript 返回上一页
1. 上一页表单里的数据全部保留, 返回上一页 history.go(-1), 返回两个页面: history.go(-2);
2. 上一页数据全部丢失,是个新页面 history.back(-1),等同于asp.net 的 Response.Redirect("list.aspx");
3. window.history.forward()返回下一页
4. window.history.go(返回第几页,也可以使用访问过的 URL)
这种好像不起作用
原文链接:http://blog.sina.com.cn/s/blog_45eaa01a01012leg.html