虽然这个东西很基本,但是自己有时候还是很混乱,所以今天就小小的整理了下,先给大家带来的是页面的跳转问题。
以下是四种 打开新页面的方法.
1. 直接转向新页面,原页面不保留
Response.Redirect("Webform6.aspx?id=1");
2. 直接转向新页面,原页面不保留
nServer.Transfer("Webform6.aspx?id=1",true);
3. 打开新页面,原页面保留,但是两个页面都可以操作.
nResponse.Write("<script>window.open('Webform6.aspx?id=1','_blank','');</script>");
4. 打开新页面,原页面保留,但只有子页面可以操作.只有关闭了子页面,父页页才能操作. 接下来是带来的不同页面间传值的问题
1. Server.Transfer只能够转跳到本地虚拟目录指定的页面,而Response.Redirect则可以跳到其它虚拟目录指定的页面,十分灵 活;
2. Server.Transfer可以将页面参数方便传递到指定页面;使用一个状态比如:
Server.Transfer(“WebForm2.aspx”, True),
现存的请求字符串和所有的Form里的变量将被保持并提交到你的目标页。传递的值只能在PAGELOAD函数里第一次进来时读 出.
例:WebForm1.aspx 有一个文本框名为 TextBox1,你利用 preserveForm 为 True 传递到 WebForm2.aspx,
发送: Server.Transfer("Webform6.aspx",true);
接 收: TextBox7.Text= Request.Form["TextBox1"] ;
3. 使用时,Server.Transfer跳到别的页面后,浏览器显示的地址不会改变,有时反而会造成误会,当然也有些场合需要这样的效果;
4. Server.Transfer可以减少客户端对服务器的请求
理清asp.net页面跳转和页面传值问题
最新推荐文章于 2024-09-19 20:58:21 发布