All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
SQL Server2005数字转中文大写字母_[SQL Server教程]
.Net,2.0,新功能:重构(Refactoring)_.net资料_编程技术
PHP技巧:使用APC缓存优化PHP程序_php资料_编程技术
PHP环境下配置在线编辑器FCKeditor_[PHP教程]
Delphi浏览sql server数据库中的信息
在ASP.NET中实现多文件上传和insertAdjacentHTML_[Asp.Net教程]
用反射调用任意.net库中的方法_[Asp.Net教程]
数据库设计正规化的五大范式_[SQL Server教程]
如何充分利用ASP.NET,2.0预编译_.net资料_编程技术
asp.net2.0验证控件之RequiredFieldValidator控件使用方法
Reading number is top 10 pictures
A man's favorite things3--ZhouWeiTong
你是左脑型还是右脑型
Sell the barbecue as says father du breul2
王艳写真温柔如水2
The world's top ten most beautiful railway station2
Take you to walk into the most true north Korea rural2
赵惟依写真2
So beauty, will let you spray blood9
Look for from human art net, is good--3
Sora aoi mirror memorial classics1
Download software ranking
dreamweaver8中文版
Unix video tutorial6
Boxer Classic video1
Boxer vs Yellow3
Eclipse-CALMSANNY (second edition)
小黑猫大战两米大花蛇
星际争霸1.08硬盘免安装版
Eclipse 4.2.2 For Win32
天龙八部最新服务端
Boxer vs Yellow4
delv published in(发表于) 2014/1/27 6:48:57 Edit(编辑)
ASP.NET跨页面传值技巧总结_[Asp.Net教程]

ASP.NET跨页面传值技巧总结_[Asp.Net教程]

ASP.NET跨页面传值技巧总结_[Asp.Net教程]


关于页面传值的方法,引发了很多讨论。看来有很多人关注这个,我就我个人观点做了些总结,希望对大家有所帮助。

1. 使用QueryString变量


QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:


a.aspx的C#代码


private void Button1_Click(object sender, System.EventArgs e)
{
string s_url;
s_url = "b.aspx?name=" + Label1.Text;
Response.Redirect(s_url);
}


b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
Label2.Text = Request.QueryString["name"];
}

2. 使用Application 对象变量


Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。


a.aspx的C#代码


private void Button1_Click(object sender, System.EventArgs e)
{
Application["name"] = Label1.Text;
Server.Transfer("b.aspx");
}

b.aspx中C#代码


private void Page_Load(object sender, EventArgs e)
{
string name;
Application.Lock();
name = Application["name"].ToString();
Application.UnLock();
}

3. 使用Session变量


想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。


a.aspx的C#代码


private void Button1_Click(object sender, System.EventArgs e)
{
Session["name"] = Label.Text;
}

b.aspx中C#代码


private void Page_Load(object sender, EventArgs e)
{
string name;
name = Session["name"].ToString();
}

4. 使用Cookie对象变量


这个也是大家常使用的方法,与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用。


a.aspx的C#代码


private void Button1_Click(object sender, System.EventArgs e)
{
HttpCookie cookie_name = new HttpCookie("name");
cookie_name.Value = Label1.Text;
Reponse.AppendCookie(cookie_name);
Server.Transfer("b.aspx");
}

b.aspx中C#代码


private void Page_Load(object sender, EventArgs e)
{
string name;
name = Request.Cookie["name"].Value.ToString();
}

5. 使用Server.Transfer方法


这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。


a.aspx的C#代码


public string Name
{
get{ return Label1.Text;}
}
private void Button1_Click(object sender, System.EventArgs e)
{
Server.Transfer("b.aspx");
}

b.aspx中C#代码


private void Page_Load(object sender, EventArgs e)
{
a newWeb; //实例a窗体
newWeb = (source)Context.Handler;
string name;
name = newWeb.Name;
}

设计家园 收集整理





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.