欢迎来金海湾博客
lansidai

https://blog.jinbay.com/lansidai/  复制链接收藏

lansidai个人头像
lansidai
博客日历
«November 2024»
12
3456789
10111213141516
17181920212223
24252627282930
博客自定义分类
8/24/2008 11:21:00 PM [生活-健康] 分享

分享

ASP.NET WEB FORMS 页面间的传值方法

ASP.NET WEB FORMS  给开发者提供了极好的事件驱动开发模式。然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的ASP应用程序中,
你能够通过POST方法很容易的把一个值或多个值从一个页面传送到另一个页面,用同样的方法在ASP.NET中实现有点麻烦。
在这里,我们可以通过其他方式来解决这种情形。
ASP.NET为我们提供了三种方式,一种是可以通过用QueryString来传送相应的值,
再一种是通过session变量来传送相应的值,
还有就是通过Server.Transfer方法来实现。
下面分别一一介绍:


一、使用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"];
}
运行,即可看到传递后的结果了。

二、使用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");
}
运行,即可看到传递后的结果了。

三、使用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;

}
运行,即可看到传递后的结果了。

评论

分享 分享

对话:

我要刊登广告
我要刊登广告
8/24/2008 11:23:00 PM [体育运动] 分享

分享

 奥运官方网站8月24日讯 在2008年北京奥运会上,从8月11日塔吉克斯坦开始获得第一枚奖牌起,至2008年8月24日毛里求斯获得奖牌,共有六个国家/地区奥委会第一次获得奥运会奖牌。

北京奥运会上第一次获得奥运会奖牌的国家/地区奥委会

时间

国家/地区奥委会

奖牌

运动员

大项

小项

2008年8月11日

塔吉克斯坦

铜牌

拉苏尔·博基耶夫

柔道

男子73公斤级

2008年8月12日

多哥

铜牌

邦雅曼·布克佩蒂

皮划艇激流回旋

男子单人皮艇

2008年8月19日

巴林

金牌

拉希德·拉姆齐

田径

男子1500米

2008年8月20日

阿富汗

铜牌

鲁胡拉·尼帕伊

跆拳道

男子58公斤级

2008年8月23日

苏丹

银牌

伊斯梅尔·艾哈迈德

田径

男子800米

 2008年8月24日

毛里求斯

铜牌

布鲁诺·朱利

拳击

男子最轻量级

阅读全文>>

阅读(603)评论(0)

8/24/2008 11:21:00 PM [娱乐] 分享

分享

上周才结束与约翰梅尔这段夏日恋情珍妮佛安妮斯顿,立刻寻求前夫皮特哥的慰藉,结果引起朱莉震怒,厉声斥责: “别给我回来了” !

失恋的安妮斯顿再度荣登最新一期明星周刊封面,周刊爆料,心力交瘁的安妮斯顿,急着想找人倾诉心事,于是在8月13日打了一通越洋电话到法国给前婆婆珍彼特,也就是皮特哥的妈妈,珍彼特正和儿子及朱莉在一起,帮忙带金孙。

消息人士指出,安妮斯顿和皮特妈虽做不成婆媳,但是安妮斯顿经常打电话给布妈,特别在这个节骨眼,她很需要倾诉的对象。精彩的部分来了:布妈正在电话这一头安慰前媳妇时,皮特哥刚好走进房间,布妈静静的将话筒拿给儿子。

起初,皮特不知道该说些什么,但他很认真倾听并且试图安慰安妮斯顿,展现高度的耐心和关心。

糗的是,最新一期的接触,周刊封面则宣称,朱莉生下龙凤胎,才刚满月,就对皮特大吼: “你不要再回来了! ”不晓得是否与皮特哥与安妮斯顿讲电话有关。

阅读全文>>

阅读(314)评论(0)

© 2024 Jinbay.com All rights reserved. 版权所有金海湾。 未经许可,不得转载。