您现在的位置是:首页 > 电脑技术查询 > 电脑知识

跨页面传值

编辑:chaxungu时间:2022-09-28 09:39:02分类:电脑知识

跨页面传值

定义:统指web页面之间的传值,包括简单的页面表单传值和页面程序中的变量传值。
变量传值:可分为简单的变量如inta,stringb;等,还包括对复杂的对象进行传递。

现以asp.net为例

asp.net跨页面传值技巧总结



1.使用querystring变量

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

a.aspx之c#代码

privatevoidbutton1_click(objectsender,system.eventargse)
{
strings_url;
s_url="b.aspx?name="+label1.text;
response.redirect(s_url);
}

b.aspx中c#代码
privatevoidpage_load(objectsender,eventargse)
{
label2.text=request.querystring["name"];
}

2.使用application对象变量

application对象之作用范围是整个全局,也就是说对所有用户都有效。其常用之方法用lock和unlock。

a.aspx之c#代码

privatevoidbutton1_click(objectsender,system.eventargse)
{
application["name"]=label1.text;
server.transfer("b.aspx");
}

b.aspx中c#代码

privatevoidpage_load(objectsender,eventargse)
{
stringname;
application.lock();
name=application["name"].tostring();
application.unlock();
}

3.使用session变量

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

a.aspx之c#代码

privatevoidbutton1_click(objectsender,system.eventargse)
{
session["name"]=label.text;
}

b.aspx中c#代码

privatevoidpage_load(objectsender,eventargse)
{
stringname;
name=session["name"].tostring();
}

4.使用cookie对象变量

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

a.aspx之c#代码

privatevoidbutton1_click(objectsender,system.eventargse)
{
httpcookiecookie_name=newhttpcookie("name");
cookie_name.value=label1.text;
reponse.appendcookie(cookie_name);
server.transfer("b.aspx");
}

b.aspx中c#代码

privatevoidpage_load(objectsender,eventargse)
{
stringname;
name=request.cookie["name"].value.tostring();
}

5.使用server.transfer方法

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

a.aspx之c#代码

publicstringname
{
get{returnlabel1.text;}
}
privatevoidbutton1_click(objectsender,system.eventargse)
{
server.transfer("b.aspx");
}

b.aspx中c#代码
privatevoidpage_load(objectsender,eventargse)
{
anewweb;//实例a窗体
newweb=(source)context.handler;
stringname;
name=newweb.name;
}


上一篇:厚坝镇

下一篇:active wall