Aspnet页面中常用的几种传值方式

合集下载

net中常用的几种页面间传递参数的方法及其优缺点

net中常用的几种页面间传递参数的方法及其优缺点

net中常用的几种页面间传递参数的方法及其优缺点.net中常用的几种页面间传递参数的方法,及其优缺点2011-05-03 23:43在Web应用程序中,页面之间交换数据(传值)是一种基本应用,它的实现效率对程序性能有直接的响。

传统的解决方案是通过Get或Post方法来实现的。

但在中,这2种方法的使用发生了变化。

因为使用了基于事件驱动的编程模型,页面采用了PostBack技术(发回给自己),一些传统的方法必须做出一定的调整才能适应它。

同时,以其优秀的架构提供了更多可用于页面间传值的方法。

这些方法各具特色,比较充分地适应了各种情况下页面间传值的需求。

1页面重定向页面间的传值方法总是与一定的页面重定向方法相联系,而且有些传值方法只能用某种重定向方法才能实现。

中有多种页面重定向的方法,这里仅介绍下文中用到(也是最常用的)的2种。

(1)Redirect方法将客户端重定向到新的页面,只是简单地终止当前页面,并转入新的页面开始执行,对转入的页面无任何限制。

(2)Transfer方法终止当前页的执行,并为当前请求开始执行新的页面。

把执行流程从当前页面转到同一服务器中的另一页面,但是新的页面仍然使用当前页面创建的应答流。

这两种方法的主要区别是:(1)Redirect方法可以实现任意网页间的重定向,而Transfer方法只能实现同一服务器中ASPX页面间的重定向。

(2)Redirect方法不会保留当前页面的表单(Form)数据和查询字符串(QueryString),而Transfer方法则可以保留这些数据。

2传值方法为了简化问题的讨论,本文作如下约定:示例基于C#语言;源页和目标页已经导入了必要的命名空间;源页面设为Src.aspx,值的传送点设在控件Button1的Click事件中,待传送的数据保存在控件TextBox1中;目标页面设为Dst.aspx,值的接收点设在该页面的Page_Load事件中,接收的数据显示在控件Label1中;不深入讨论与之相关的编程问题,所有示例仅给出基本实现方法,所有代码在Visual Studio2005中调试通过。

ASP传递参数方法汇总

ASP传递参数方法汇总

asp传参数的方法dadaV2016.02.15asp传参数的方法常用的有三种:1、用户端用http方式传参数到服务器(FORM表单方式)用表单的action属性,将参数传递到接收的文件中。

<form action="test.asp" method="get">//test.asp 为接收参数的页面,method为传送方式,分post方式和get方式。

2、用链接传递参数 <a href='test.asp?name=bansi&sex=man'> 会员</a>href后面的属性首先跟的是一个提交到后台处理的asp文件,"?"后面跟的是参数,参数值是在"="后面。

当多个参数时,使用"&"将参数隔开。

这里就有两个参数name与sex,参数值分别为bansi与man。

比如 <a href="test.asp?action=check<%=rs("字段名")%>">使用mid(request("action"),1,5)获取 check使用mid(request(action),5) 获取<%=rs("字段名")%>3、使用<input>标签方式设置为隐藏方式传递一个参数<input type="hidden" name="id" value="<%=request.querystring("id")%>">下一页面使用 request.form("id")获取id参数asp的参数传递和获取设计交互式网页离不开接收用户的输入信息,也即参数传递和获取。

asp.net页面间传值方式

asp.net页面间传值方式

页⾯间传值⽅式 使⽤开发项⽬,必然会在页⾯间进⾏传值,本⽂介绍⼏种常见的页⾯传值⽅式,仅作笔记,以便后续查找使⽤。

前提:新建两个页⾯:ValuePage.aspx,ObtainValue.aspx,本⽂介绍的⼏种传值⽅式都是在valuePage页⾯赋值,传递到ObtainValue.aspx页⾯中。

在ValuePage.aspx前台新建两个textbox控件,ID分别为:tbUserName,tbPwd。

ObtainValue.aspx页⾯上同样有两个textbox空间,ID:tbUserName,tbPwd,⽬的是为了接收从ValuePage.aspx传递过来的值。

1、使⽤QueryString⽅式: ValuePage.aspx.cs代码: Response.Redirect("ObtainValue.aspx?userName=" + this.tbUserName.Text.Trim () + "&pwd=" + this.tbPwd.Text.Trim()); ObtainValue.aspx.cs代码:private void QueryString(){this.tbUserName.Text = Request.QueryString["userName"];this.tbPwd.Text = Request.QueryString["pwd"];} 2、Session传值: ValuePage.aspx.cs代码:Session["userName"] = this.tbUserName.Text.Trim();Session["pwd"] = this.tbPwd.Text.Trim();Response.Redirect("ObtainValue.aspx"); ObtainValue.aspx.cs代码:this.tbUserName.Text = Session["userName"].ToString();this.tbPwd.Text = Session["pwd"].ToString(); 3、使⽤Application对象变量传值: ValuePage.aspx.cs代码:Application.Lock();Application["userName"] = this.tbUserName.Text.Trim();Application["pwd"] = this.tbPwd.Text.Trim();Application.UnLock();Server.Transfer("ObtainValue.aspx"); ObtainValue.aspx.cs代码:Application.Lock();this.tbUserName.Text = Application["userName"].ToString();this.tbPwd.Text = Application["pwd"].ToString();Application.UnLock(); 解析:Application.Lock和Application.UnLock⼀般配对出现,⽤于锁住Lock与UnLock之间的所有代码(注意不光锁住对于Application 的赋值)。

asp.net页面传值的几种方式

asp.net页面传值的几种方式

页⾯传值的⼏种⽅式⼀、Request.QueryString 1.QueryString是⼀种⾮常简单的传值⽅式,他可以将传送的值显⽰在浏览器的地址栏中。

如果是传递⼀个或多个安全性要求不⾼或是结构简单的数值时,可以使⽤这个⽅法。

但是对于传递数组或对象的话,就不能⽤这个⽅法了。

2.使⽤⽅法:在源页⾯的代码中⽤需要传递的名称和值构造URL地址(IP地址⾥⾯“?”后⾯的参数的内容,)在源页⾯的代码⽤Response.Redirect(URL);重定向到上⾯的URL地址中。

在⽬的页⾯的代码使⽤Request.QueryString["name"];取出URL地址中传递的值。

⼆.Request.Form1、Request.Form 获取窗体变量集合。

有两重载,即Request.Form[string name]和Request.Form[int index]。

2、获取表单指定名字的参数值(form表单中的method中⼀般⽤post。

)。

三、Session1.作⽤于⽤户个⼈,所以,过量的存储会导致服务器内存资源的耗尽。

2.当客户端向服务器发送⼀个请求时,如登陆⽤户ID,服务器接收到该请求,服务器端Session产⽣⼀个与该登陆⽤户相关的SessionID,并将SessioID返回给客户端(Goggle,Firefox,IE等),在新会话开始时,服务器将SessionID当做 cookie存储在⽤户的浏览器中。

3.优缺点优点:1.使⽤简单,不仅能传递简单数据类型,还能传递对象。

2.数据量⼤⼩是不限制的。

缺点:1.在Session变量存储⼤量的数据会消耗较多的服务器资源。

2.容易丢失。

4.使⽤⽅法:1.在源页⾯的代码中创建你需要传递的名称和值构造Session变量:Session["Name"]="Value(或 object)"; 2.在⽬的页⾯的代码使⽤Session变量取出传递的值。

ASP.NET页面之间的数据传递与保持7页word

ASP.NET页面之间的数据传递与保持7页word

ASP页面之间的数据传递与保持页面之间数据的传递与保持是实现网站与用户交互的重要手段之一,也是Web应程序的基本功能,它的实现效率对程序性能有直接的影响。

ASP 提供了多种方法来实现数据的传递与保持,这些方法各有所长。

以下对常用的几种方法做阐述。

一、数据在页面间的传递在用户访问网站的过程中,页面之间的跳转总是非常频繁。

用户通常点击页面上某个超链接而进入网站其它页面,也有可能点击某个按钮提交信息从而打开了目标页面,甚至是网页程序在某个条件达成时自动的页面重定向。

无论哪种情况使得用户浏览时换了页面,都不能丢了用户的状态,也就是在用户本次访问网站过程中,其状态应该是连续的,有些数据必须在页面之间传递下去,以供目标页面获取。

目标页面可以通过Request对象来获取源页面传来的数据。

1.Request.QueryStringQueryString是最简单最常用的传值方法,它能够获取HTTP查询字符串附在URL后面的参数值:URL?参数名1=参数值&amp;参数名2=参数值......而以URL方式进行页面转换有以下几种:超链接:&lt;a&gt;标记的href属性或控件HyperLink的NavigateURL 设置URL后面可以连接参数;控件Button的postbackURL属性可以设置目标页面URL,后面可以连接参数;表单数据以get方法发送给指定的目标URL,会将控件值作为参数连接在URL后面,参数名就是控件名或控件ID,参数值就是控件的值;Response对象的Redirect方法可以设置参数URL,使客户端浏览器立即重定向到指定的URL;Session对象的Transfer方法可以设置参数URL将客户端重定向到新的页面,它终止当前页的执行,保留当前页面的表单(Form)数据和查询字符串(QueryString),并为当前请求开始执行URL指定的目标页面,而源页面已加载的数据依然保存。

详解ASP.NET页面之间传值的几种方式

详解ASP.NET页面之间传值的几种方式

详解页⾯之间传值的⼏种⽅式开篇概述对于任何⼀个初学者来说,页⾯之间传值可谓是必经之路,却⼜是他们的难点。

其实,对⼤部分⾼⼿来说,未必不是难点。

回想2016年⾯试的将近300⼈中,有实习⽣,有应届毕业⽣,有1-3年经验的,有3-5年经验的,有5-10年经验的,对于所有的⾯试者,我⼏乎问了同⼀道题:"请说说你所知道的页⾯之间传值的⼏种形式和⽅法,并阐述他们的原理和过程",关于这道题,从⼤家的回答来看,结果并不是很理想,从种类上来说,⼤部分⼈回答5种左右,极少部分能回答8种,没有超过8种的,但从深度上来说,很少有⼈能透彻的分析每种⽅法的原理和过程,(当然,要想透彻的分析这些原理和过程,需要研究底层的东西,如page ⽣命周期和page原理,反射,IIS如何解析请求等,CLR,GC,反编译等)。

⼤致概括⼀下, 页⾯之间传递值得⽅式⼤致可以分为如下⼏种:Request.QueryString["name"],Request.Form("name"),Session,Cookie,Cache,Application,Server.Transfer,Database,HttpContext 的Item属性,Files,DataBase等等。

详解每种⽅法⼀、Request.QueryString核⼼代码:protected void getQueryString_Click(object sender, EventArgs e){string QueStr = Request.QueryString["name"];Response.Write(QueStr);}总结:1、Request.QueryString:获取http查询字符串变量集合。

有两重载,即Request.QueryString[string name]和Request.QueryString[int index];2、Request.QueryString主要是获取url中的“?”之后的参数,如url:a.aspx?name="queryString",则Request.QueryString["name"]的值为“queryString”。

ASP.NETMVC程序传值方式:ViewData,ViewBag,TempData和Se。。。

ASP.NETMVC程序传值方式:ViewData,ViewBag,TempData和Se。。。

最后创建一个强类型的TempData主要是用在需要在多个Acions或者页面重定向时共享传递数据时使用。
五、Session
Session也是 MVC传递值得一种方式,和TempData不同的,用户整个回话期中Session都不会过期。 Session在同一用户会话过程中的所用请求中有效,比如,页面刷新。 Session中的值也需要进行类型转换和非空检查。
11
12 return RedictToAction("DisplayCustomer2");
13 }
public ActionView DisplayCustomer2 {
Customer customer = TempData["OneCustomer"] as Customer;
return View(customer ); }
下面,我们来透过一个例子来演示一下如何在两个Action方法中传递数据。
首先创建一个Model类,如下
1 public class Customer 2{ 3 public int Id { get; set; } 4 public string Code { get; set; } 5 public double Amount { get; set; } 6}
然后在Controller中加入如下代码:
1 public ActionView DisplayCustomer1
2{
3 Customer customer = new Customer
4{
5
Id = 1001,
6
Code = "100101",
7
Amount = 100

Asp.net.WebForm页面跳转的传值的几种方式

Asp.net.WebForm页面跳转的传值的几种方式

.WebForm页⾯跳转的传值的⼏种⽅式最近在做.WebForm页⾯的项⽬,记录下webForm页⾯跳转到其他页⾯的⽅式(带参数)其中Sesion传值出现获取不到(未解决),Cookie传值出现中⽂乱码(已解决)1、不带参数的跳转///<summary>///登录事件///</summary>///<param name="sender"></param>///<param name="e"></param>protected void LoginClick(object sender, EventArgs e){//跳转到指定页⾯Response.Redirect("../home/index.aspx");}2、带参数的跳转2.1、使⽤queryString传值,跳转到指定页⾯2.1.1)a.aspx的C#代码(存放)///<summary>///登录事件///</summary>///<param name="sender"></param>///<param name="e"></param>protected void LoginClick(object sender, EventArgs e){//获取页⾯的⽤户、密码string userCode = this.txtUser.Text.Trim();string userPwd = this.txtPwd.Text.Trim();//⽅式⼀:使⽤queryString传值,跳转到指定页⾯Response.Redirect("../home/index.aspx"+"?userCode="+ userCode+"&&userPwd="+ userPwd;}2.1.2)b.aspx的C#代码(读取)protected void Page_Load(object sender, EventArgs e){//通过QueryString ,获取登录名this.loginUserName.Text = Request.QueryString["userCode"];}2.2、使⽤Application传值,跳转到指定页⾯2.2.1)a.aspx的C#代码(存放)///<summary>///登录事件///</summary>///<param name="sender"></param>///<param name="e"></param>protected void LoginClick(object sender, EventArgs e){//获取页⾯的⽤户、密码string userCode = this.txtUser.Text.Trim();string userPwd = this.txtPwd.Text.Trim();//⽅式⼆:使⽤Application传值,跳转到指定页⾯Application["userCode"] = userCode;Application["userPwd"] = userPwd;Response.Redirect("../home/index.aspx");}2.2.2)b.aspx的C#代码(读取)protected void Page_Load(object sender, EventArgs e){//通过 Application ,获取登录名this.loginUserName.Text = Application["userCode"].ToString();}2.3、使⽤Seesion传值,跳转到指定页⾯(报错,跳转到下⼀页⾯,查找不到Session的值)2.3.1)a.aspx的C#代码(存放)///<summary>///登录事件///</summary>///<param name="sender"></param>///<param name="e"></param>protected void LoginClick(object sender, EventArgs e){//获取页⾯的⽤户、密码string userCode = this.txtUser.Text.Trim();string userPwd = this.txtPwd.Text.Trim();//⽅式三:使⽤Seesion传值,跳转到指定页⾯(报错,跳转到下⼀页⾯,查找不到Session的值)Session["userCode"] = userCode;Session["userPwd"] = userPwd;Response.Redirect("../home/index.aspx");}2.3.2)b.aspx的C#代码(读取)protected void Page_Load(object sender, EventArgs e){//通过 Session ,获取登录名this.loginUserName.Text = Session["userCode"].ToString();}2.4、使⽤cookie传值,跳转到指定页⾯(cookie存放中⽂会乱码,存放cookie时,需编码) 2.4.1)a.aspx的C#代码(存放)///<summary>///登录事件///</summary>///<param name="sender"></param>///<param name="e"></param>protected void LoginClick(object sender, EventArgs e){//获取页⾯的⽤户、密码string userCode = this.txtUser.Text.Trim();string userPwd = this.txtPwd.Text.Trim();//⽅式四:使⽤cookie传值,跳转到指定页⾯(cookie存放中⽂会乱码,存放cookie时,需编码) HttpCookie cookie1 = new HttpCookie("userCode", HttpUtility.UrlEncode(userCode));HttpCookie cookie2 = new HttpCookie("userPwd",HttpUtility.UrlEncode(userPwd));Response.Cookies.Add(cookie1);Response.Cookies.Add(cookie2);Response.Redirect("../home/index.aspx");}2.4.2)b.aspx的C#代码(读取)protected void Page_Load(object sender, EventArgs e){//通过cookie,获取登录名(cookie存放中⽂会乱码,读取cookie时,需解码)this.loginUserName.Text = HttpUtility.UrlDecode(Request.Cookies["userCode"].Value);}参考⽹址:https:///zzzzzzzert/article/details/8486143https:///qq450867541/p/7600345.html。

ASP.NET页面之间数据传递的几种方法

ASP.NET页面之间数据传递的几种方法

页⾯之间数据传递的⼏种⽅法1)Request.QueryString在ASP时代,这个是较常⽤的⽅法,到了,好像⽤的⼈不多了,但是不管怎么说,这是⼀个没有过时,且很值得推荐的⽅法,因为不管是ASP还是,最基本的都还是基于HTTp协议的。

缺点是⾮常明显的,让在多个页⾯传递时,可能就Request不到了2)Session这个是最常⽤的⼀个⽅法,Session的优点是使⽤简单,缺点是占⽤服务器资源,因为每⼀个Session都意味这服务器需要维护相应客户的会话信息,⾃然如果登录的⽤户多了,那么将⾮常占⽤服务器资源。

另外Session还有⼀个缺点,默认的如果你登录后20分钟内没有任何动作,服务器⾃动会取消该会话,所以那时你⼜需要登录。

PS。

这⾥使得我想起⼀个事情,前⼏天有⼀个公司让我看了⼀段代码,在登录时,就是使⽤Session记录⽤户登录的,My GOD,微软知道了肯定要吐⾎!!它⾟⾟苦苦给你提供的web.config⾥的配置 <deny user="*"/> 就要这⼀个配置,你不⽤,仍然⽤ASP时代的Session,岂不是浪费了MS的⼀⽚苦⼼3)Application这个在ASP时代还是⽐较常⽤的,主要⽤去存储全局变量,例如数据库链接信息,到了时代,⽤的不多,⾄少我好象⼀直没有⽤过。

4)Cookie这个是我的最爱,Cookie最⼤的特点是由客户端维护,不⽤占⽤服务器资源,⽽且你可以设定⽤户登录时,Cookie的有效期,例如⼀天,这样在⼀天内你不⽤担⼼系统再让你登录。

当然Cookie也有缺点,那就是安全性,因为Cookie在客户端,确实有些软件可以分析Cookie的登录信息,所以你写⼊Cookie的内容不要过于敏感,例如不要存储密码,还有作为安全,写⼊Cookie的内容最好要加密。

5)Viewstate新增的,Viewstate使⽤简单,缺点是只能够在同⼀个页⾯使⽤,在2.0⾥这个问题可以使⽤Button的PostBackUrl进⾏结果。

Asp net Web页面之间传值问题研究

Asp net Web页面之间传值问题研究

Web页面之间传值问题研究摘要:在程序中,各个Web页面是相互孤立的,信息不能进行传递,如何高效地交换数据,是一个值得研究的问题。

Web页面之间传值的方法较多,但多数对性能消耗较大,利用Microsoft Visual Studio 2010开发平台,精选出三种性能高效的传值方法。

关键词: Web程序开发;Web页面传值0 引言 Web页面之间传值有多种方法,性能好的Web传值方法有以下3种。

1 查询字符串所谓查询字符串,是采用?name=wupingui之类的写法,在这一URL中,从问号(?)开始到结尾的部分就是查询字符串。

在网页之间相互跳转,常常需要传值,如何传值就需要使用查询字符串,其代码如下:/index.aspx?name=wuping&salary=3000在上述的url中,查询字符串有两个字段,一个字段是name,另外一个字段是salary,不论目标网页是相同Web应用程序中的网页还是外部网站的网页,查询字符串都可以顺利运行,而且目标网页不限于网页。

不过当目标网页是一个网页时,可以在目标网页中使用HttpRequest对象的QueryString属性来读取查询字符串的字段值。

在vs2010中新建一个页面employee.aspx,在页面上放置两个lable、两个TextBox和一个Button在该页面的Button1_Click事件中增加以下代码:protected void Button1_Click(object sender, EventArgs e){string name = this.TextBox1.Text;string salary = this.TextBox2.Text;Response.Redirect("salary.aspx?name=" + name +"&salary=" + salary + "",true);}在页面salary.aspx页面Page_Load事件上增加以下代码:protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){string name = Request.QueryString["name"].ToString();string salary = Request.QueryString["salary"].ToString();Response.Write(“姓名为:”+ name + "");Response.Write(“工资为:”+ salary);}}在页面employee.aspx中,姓名文本框中输入wupingui,在工资文本框中输入2500。

在网页间传递参数的两种常用方法:Querystring和session。

在网页间传递参数的两种常用方法:Querystring和session。

在⽹页间传递参数的两种常⽤⽅法:Querystring和session。

我们在做的⽹页时,不可避免的要有到不同⽹页间参数的传递,在下⾯是在⽹页间传递参数的两种常⽤⽅法:这⾥并没有讨论参数传递的效率问题,我个⼈较喜欢⽤session传递,在使⽤结束后⽴即释放,感觉还是很⽅便的。

发送页的CODE:<FONT style="BACKGROUND-COLOR: #ffff00"> <FONT style="BACKGROUND-COLOR: #ffff00">Private Sub ImageButton1_Click()Sub ImageButton1_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButto n1.Click'通过Querystring传递参数或者session中'下⾯这⼀段是⽤QueryString来传输的'Dim Url As String'Url = "../search/LocalTemp.aspx.aspx?&Search=ok"'If txtEnterpriseName.Text <> "" Then' Url = Url + "&E=" + txtEnterpriseName.Text'End If'If txtAddress.Text <> "" Then' Url = Url + "&A=" + txtAddress.Text'End If'If DDLProvice.SelectedValue <> "选择省份" Then' Url = Url + "&P=" + DDLProvice.SelectedValue'End If'If DDLCity.SelectedValue <> "选择城市" Then' Url = Url + "$C=" + DDLCity.SelectedValue'End If'If Url = "../search/SingleDetailed.aspx?&Search=ok" Then' '给出错误提⽰'End If'Response.Redirect(Url)' 下⾯使⽤session 传递Session("E") = txtEnterpriseName.TextSession("A") = txtAddress.TextSession("P") = DDLProvice.SelectedValueSession("C") = DDLCity.SelectedValue'Server.Transfer()Response.Redirect("../search/LocalTemp.aspx")End Sub</FONT> </FONT>接受页的CODE:<FONT style="BACKGROUND-COLOR: #ffff00"><FONT style="BACKGROUND-COLOR: #ffffff"> </FONT><FONT style="BACKGROUND-COLOR: #ffff00"> Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load'Put user code to initialize the page hereIf Not IsPostBack Then'如果是Quesring是这样'Dim ENname as string = Request.QueryString["E"]Dim EName As StringDim EAddress As StringDim EProvice As StringDim ECity As StringEName = Session("E").ToStringEAddress = Session("A").ToStringEProvice = Session("P").ToStringECity = Session("C").ToString'----'your code'-----'When you use finishSession.Remove("E")Session.Remove("C")Session.Remove("A")Session.Remove("P")End IfEnd Sub</FONT></FONT>。

ASP.NET页面间数据传递的方法讲解.net(C#vbasp)

ASP.NET页面间数据传递的方法讲解.net(C#vbasp)

页面间数据传递的方法讲解.net(C#vbasp)00、引言Web页面是无状态的,服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留。

在用 设计开发一个Web系统时,遇到一个重要的问题是如何保证数据在页面间进行正确、安全和高效地传送, 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.NET 下的解决此问题的各种方法和各自的适用场合。

1、页面间数据传递的各种方法和分析1.1 使用Querystring 方法QueryString 也叫查询字符串,这种方法将要传递的数据附加在网页地址(URL)后面进行传递。

如页面A.aspx 跳转到页面B.aspx,可以用Request.Redirect("B.aspx?参数名称=参数值")方法,也可以用超链接:,页面跳转后,在目标页面中可用Ruquest["参数名称"]来接收参数。

使用QuerySting 方法的优点是实现简单,不使用服务器资源;缺点是传递的值会显示在浏览器的地址栏上,有被篡改的风险,不能传递对象,只有在通过URL 请求页时查询字符串才是可行的。

1.2 利用隐藏域隐藏域不会显示在用户的浏览器中,一般是在页面中加入一个隐藏控件,与服务器进行交互时把值赋给隐藏控件并提交给下一页面。

隐藏域可以是任何存储在网页中的与网页有关的信息的存储库。

使用隐藏域存入数值时用:hidden 控件.value=数值,取出接收数值时用:变量=hidden 控件.value。

使用隐藏域的优点是实现简单,隐藏域是标准的HTML 控件,不需要复杂的编程逻辑。

隐藏域在页上存储和读取,不需要任何服务器资源,几乎所有浏览器和客户端设备都支持具有隐藏域的窗体。

缺点是存储结构少,仅仅支持简单的数据结构,存储量少,因为它被存储在页面本身,所以无法存储较大的值,而且大的数据量会受到防火墙和代理的阻止。

ASP.NET页面传值方法研究

ASP.NET页面传值方法研究
h.s a px:
的问题 :如用户填写用户注册信息完成后点击提交按钮 , 发现原来输入的数据 有错误 , 想返 回到原来数据输入的页 面进行修改, 这需要将注册页面输入的数据保留并 重新 显
示 。 此 时 要 求 We b系统 能 够 保 持 用 户 原 来 的状 态 并 在 页
L bl.etSsi 【 a e】 otn 0/ Ssi ae1 x es n . m ”T Sr g ; 将 es n变 T = o . n . i / o 量 显示 出来 Ssi .e oe”a ” /清 除 Ssi es nR m v( me) / o n ; es n变 量 o 三 、 p lai A pi t n的使 用 c o
Ssi 。Ssi es nI es n的值放在服务器端 , o D o 运行时通过用户的
I D去找服务器 上对应的值。 es n的 Tm o t Ssi o ieu 属性默认为
2 钟 。Ssi 0分 es n对 象 为 当 前用 户 会 话 提 供 信 息 , 话 期 间 o 会 这 些 状 态 变 量 的 值 保 留不 变 , 并且 可 以 被 同 一个 服 务 器 中 的所 有 页 面 访 问 。 由此 可 以看 到 A PN T中 的 Ssi S .E es n对 象 可 以直 接 存 o 储 对象 , 无 大 小 限 制 。该 方 法 的缺 点 是 : 于 We 用 且 由 b应
A PN T页 面传 值 方 法 研 究 S 。E
陈 志 坚
( 城职 业技 术 学 院 , 晋 山西 晋 城 0 8 2 ) 4 0 6
用 户的请求里是 否已包 含了一个 Ssi es nI o D,如果没有则 服 务器就 为此 用 户创建 一个 Ssi es n并且 相应 生成一 个 o

ASP.NET页面之间传递值的几种常用方式

ASP.NET页面之间传递值的几种常用方式
引用:
[1] 页面之间传递值4079.html?qbl=relate_question_0&word=.net%D6%
D0%D2%B3%C3%E6%D6%AE%BC%E4%B5%C4%B4%AB%D6%B5.201
{ string a = Session["UserName "].ToString(); } 3 使用 Cookie 对象变量 较常用的方法中还有使用 Cookie 对象变量, Cookie 是存放在客 户端的,而 session 是存放在服务器端的。而且 Cookie 的使用要结合 内置对象 Request 来完成。 一张网页中 private void Button1_Click(object sender, System.EventArgs e) { HttpCookie cookie_a = new HttpCookie("UserName "); cookie_a.Value = Tbx1.Text.Trim() ; Reponse.AppendCookie(cookie_a); Server.Transfer("另一张网页"); } 另一张网页中 private void Page_Load(object sender, EventArgs e) { string str= Request.Cookie["UserName "].Value.ToString(); }
发送页中 private void Button1_Click(object sender, System.EventArgs e) { Session["UserName "] = TextBox1.Text.Trim() ; } 接收页中 private void Page_Load(object sender, EventArgs e)

.net 页面传值方法

.net 页面传值方法

.net 页面传值方法
在.NET中,有多种方法可以在页面之间传递值。

以下是一些常
用的方法:
1. QueryString,可以通过URL的查询字符串来传递值。

例如,你可以在链接中添加参数,然后在接收页面中通过
Request.QueryString来获取这些参数的值。

2. Session,可以使用Session来存储和传递值。

你可以在一
个页面中将数值存储在Session变量中,然后在另一个页面中获取
这些值。

3. Cookies,可以使用Cookies来在页面之间传递值。

你可以
在一个页面中设置Cookie,然后在另一个页面中读取这个Cookie
来获取值。

4. 服务器转发,可以使用服务器转发来传递值。

你可以在一个
页面中将数值存储在一个对象中,然后将这个对象传递给另一个页面。

5. 控件属性传值,可以使用控件的属性来传递值。

例如,你可以在一个页面中设置控件的属性,然后在另一个页面中读取这些属性的值。

6. Application对象,可以使用Application对象来存储和传递值。

你可以在一个页面中将数值存储在Application对象中,然后在另一个页面中获取这些值。

这些都是.NET中常用的页面传值方法,每种方法都有其适用的场景和注意事项。

在实际开发中,你可以根据具体的需求和情况选择合适的方法来传递值。

希望这些信息能帮助到你。

asp传值

asp传值

页面重载protected void Page_Load(object sender, EventArgs e){if (Page.IsPostBack){Response.Redirect("UserLogin.aspx");}else{return;}}一、目前在中页面传值共有这么几种方式:1、表单提交,<form action= "target.aspx" method = "post" name = "form1"><input name = "param1" value = "1111"/><input name = "param2" value = "2222"/></form>....form1.submit();....此种方在ASP。

NET中无效,因为ASP。

NET的表单总是提交到自身页面,如果要提交到别一页面,需要特殊处理。

2、<A href="target.aspx?param1=1111&param2=2222">链接地址传送</A>接收页面:string str = Request["param1"]3、Session共享发送页面:Session("param1") = "1111";按收页面string str = Session("param1").ToString();4、Application共享发送页面:Application("param1") = "1111";按收页面:string str = Application("param1").ToString();此种方法不常使用,因为Application在一个应用程序域范围共享,所有用户可以改变及设置其值,故只应用计数器等需要全局变量的地方。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 的使用要配合内置对象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 = ;
}。

相关文档
最新文档