你的位置:首页 > ASP.net教程

[ASP.net教程].Net中几种常见的页面跳转传值方法

1、ASP Server对象Execute方法

ASP Server对象的Execute方法可以在执行当前页面的过程中将另一个页面执行结果的内容插入到当前页面的输出中。Execute方法带一个参数,是个字符串,指定要执行的ASP文件的位置。如果提供了绝对路径,这个路径则必须位于同一个应用程序空间中。Execute方法提供了一种服务器端包含的替代方法,并且允许使用者开发自己的可重用模块集合,作为简单的脚本页。传递给主调ASP页面的参数从被执行页中可以得到。被执行页产生的所有输出都被添加到主调页产生的输出中。

提示

Server.Execute(path)适合于将一个完整的页面调入到当前页面,被调入的页面本身也可以是一个完整的ASP页面。但是,它的缺点在于:当前页面定义的过程、函数或者变量在目标页面中不能使用。如果要传递参数,可以将参数保存到Session对象中。

语法

Server.Execute(path)
示例
WebForm1.aspx:

Response.Write("Label1.Text");

 Server.Execute("WebForm2.aspx");

WebForm2.aspx:

Response.Write("Label1.Text");

2使用querystring
querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象。如果你想传递一个安全性不是那么太重要或者是一个简单的数值时,用此方法最好不过了。下面通过一个小例子来完成传值工作,步骤如下:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个textbox1,textbox2
3、为button按钮创建click事件
代码如下:
private void button1_click
(object sender, system.eventargs e)
{
 string url;
 url="webform2.aspx?name=" +
  textbox1.text + "&email=" +
  textbox2.text;
 response.redirect(url);
}
4、新建一个目标页面命名为webform2
5、在webform2中放置两个label1,label2
在webform2的page_load中添加如下代码:
private void page_load
(object sender, system.eventargs e)
{
 label1.text=request.querystring["name"];
 label2.text=request.querystring["email"];
}
运行,即可看到传递后的结果了。

3、使用session变量

使用session变量传值是一种最常见的方式了,此中方式不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把session变量的值removed后,变量才会消失。举个例子看看:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个textbox1,textbox2
3、为button按钮创建click事件
代码如下:
private void button1_click
(object sender, system.eventargs e)
{
       session["name"]=textbox1.text;
 session["email"]=textbox2.text;
 response.redirect("webform2.aspx");
}
4、新建一个目标页面命名为webform2
5、在webform2中放置两个label1,label2
在webform2的page_load中添加如下代码:
private void page_load
(object sender, system.eventargs e)
{
 label1.text=session["name"].tostring();
 label2.text=session["email"].tostring();
 session.remove("name");
 session.remove("email");
}
运行,即可看到传递后的结果了。

4、使用server.transfer
虽然这种方法有点复杂,但也不失为一种在页面传值的方式。
举个例子看看:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个textbox1,textbox2
3、为button按钮创建click事件
代码如下:
private void button1_click
(object sender, system.eventargs e)
{
 server.transfer("webform2.aspx");
}
4、创建过程来返回textbox1,textbox2控件的值代码如下:
public string name
{
 get
 {
  return textbox1.text;
 }
}

public string email
{
 get
 {
  return textbox2.text;
 }
}
5、新建一个目标页面命名为webform2
6、在webform2中放置两个label1,label2
在webform2的page_load中添加如下代码:
private void page_load
(object sender, system.eventargs e)
{
 //创建原始窗体的实例
 webform1 wf1;
 //获得实例化的句柄
 wf1=(webform1)context.handler;
 label1.text=wf1.name;
 label2.text=wf1.email;

}


贵州旅游景点推荐贵州旅游团报价贵州旅游团购优惠贵州旅游线路报价贵州旅游指南攻略大全木格措海拔_康定情歌风景区木格措海拔高度是多少 世界公园地址_世界公园在哪_世界公园在什么地方 镜泊湖在哪_镜泊湖在哪里_镜泊湖怎么走 笔架山潮汐时间表 关岛体验爱的气息 河北13处景区入选全国红色经典景区 爱她就带她出去耍_母亲节新感恩方式 西安世园会注册无线网址 潍坊富华游乐园游玩攻略?富华游乐园有摩天轮吗? 2015浮盖山峡谷漂流什么时间开始?江山浮盖山峡谷漂流开漂时间? 潍坊富华游乐园和泰安方特哪个好?山东潍坊富华游乐园怎么样? 潍坊富华游乐园简介及图片?富华游乐园都有哪些玩的项目? 2015深圳锦绣中华圣诞节夜场活动时间?锦绣中华圣诞夜场几时开始? 2015深圳圣诞节情侣拍拖去哪好玩?深圳圣诞夜约会哪里好? 2015深圳圣诞节平安夜哪里有活动?深圳圣诞夜场去哪好玩? 2015广州长隆圣诞节夜场活动时间?番禺长隆欢乐世界圣诞夜场几时开始? STW18NM60N Datasheet STW18NM60N Datasheet IXFA14N60P Datasheet IXFA14N60P Datasheet IXTA14N60P Datasheet IXTA14N60P Datasheet 浙江出发去比利时旅游 浙江出发去比利时旅游 浙江出发去比利时旅游 浙江出发去冰岛旅游 浙江出发去冰岛旅游 浙江出发去冰岛旅游 浙江出发去波多黎各旅游 浙江出发去波多黎各旅游 浙江出发去波多黎各旅游