在开发一些复杂的程序时经常后遇到多个页面跳转到同一页面,然后在返回.如果没有一个有效的处理方法,看似简单的问题也将会变得十分复杂.那么如果巧妙地实现页面返回功能呢?
1.在客户端实现
可以为控件添加客户端的onclick事件,当控件触发单击事件后在客户端执行页面返回功能.
(1) 使用HTML控件时,可以在页面HTML代码中为控件添加"οnclick="history.go(-1)"",代码如下:
<
INPUT onclick
=
"
history.go(-1)
"
type
=
"
button
"
value
=
"
Button
"
>
(2) 使用Web服务器控件时,代码如下:
private
void
Page_Load(
object
sender, System.EventArgs e)

{
this.Button1.Attributes.Add("onclick","history.go(-1);return false;");
}
2.在服务器端实现
(1)在服务器端执行JavaScript脚本,代码如下所示:
private
void
Button1_Click(
object
sender, System.EventArgs e)

{
Response.Write("<script>history.go(-2);</script>");
}
注意:如果使用Response.Write(
"
<script>history.go(-1);</script>
"
);语句,实现的效果是原页面的刷新
(2)利用页面传值技术
下面代码实现了页面A跳转到页面B后,单击按钮返回页面A.
页面A实现跳转的代码如下所示.当页面A跳转到页面B的时候,将A的URL也传递到页面B.
string
url
=
"
WebForm1.aspx
"
Response.Redirect(
"
WebForm2.aspx?url=
"
+
url);
页面B的处理代码如下所示.在页面B中将页面A的URL取出,然后返回页面A.
string
url
=
Request.QueryString[
"
url
"
];
Response.Redirect(url);
1.在客户端实现
可以为控件添加客户端的onclick事件,当控件触发单击事件后在客户端执行页面返回功能.
(1) 使用HTML控件时,可以在页面HTML代码中为控件添加"οnclick="history.go(-1)"",代码如下:






(1)在服务器端执行JavaScript脚本,代码如下所示:






下面代码实现了页面A跳转到页面B后,单击按钮返回页面A.
页面A实现跳转的代码如下所示.当页面A跳转到页面B的时候,将A的URL也传递到页面B.



