




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
跨页传值方法集锦 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.QueryStringname;2. 使用Application 对象变量Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。a.aspx的C#代码private void Button1_Click(object sender, System.EventArgs e) Applicationname = Label1.Text; Server.Transfer(b.aspx);b.aspx中C#代码private void Page_Load(object sender, EventArgs e) string name; Application.Lock(); name = Applicationname.ToString(); Application.UnLock();3. 使用Session变量想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。a.aspx的C#代码private void Button1_Click(object sender, System.EventArgs e) Sessionname = Label.Text;b.aspx中C#代码private void Page_Load(object sender, EventArgs e) string name; name = Sessionname.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.Cookiename.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;6.另外一个方法就是在源表单页已经确定的情况下,使用PreviousPageType指令。这个指令可以在目标表单页中以强类型的方式访问源表单页。这个指令指定源表单页使用VirtualPath属性还是TypeName属性。PreviousPage属性返回一个强类型的结果来对源表单页进行引用。其允许访问源目标页的公共属性。SourcePage.aspx: .public string FirstName get return txtFirstName.Text; .TargetPage.aspxstring strFirstName;strFirstName = PreviousPage.FirstName /Strongly Typed PreviousPage allows direct access to the public properties of the source page.+7.source.cspublic string Name . get . return txtName.Text; public string Pwd . get . return txtPwd.Text; private void btnCommit_Click(object sender, System.EventArgs e) . /1.使用QueryString方式传值 /QueryString是一种非常简单的传值方式,它可以将传送的值显示在浏览器的地址栏中, /如果想要传递一个安全性不太重要或一个结构简单的数值时,用此法最容易。但如果要 /传递的信息涉及安全性或值的类型是较为复杂的array(数组)或object(对象)时, /就不能和此方法。 /实现: string url; url = distination.aspx Name= + txtName.Text + &Pwd= + txtPwd.Text; Response.Redirect(url); /2.使用Application对象变量 /Application对象在服务器端生成一个状态变量来存储所需的信息,该Application对象 /变量的可视范围涵盖全部使用者,也就是只要正在使用这个网页程序的程序都可以存取 /这个状态变量。这就意味着它只能存储一些要公布的信息,而对于那些涉及个人及安全 /的信息就不能用它来存取。Application对象变量有2个常用的方法,Lock和UnLock方法, /主要用于处理多个用户对存储在Application变量中的数据进行写入的问题。Lock方法锁 /定全部的Application变量,从而阻止其他用户修改Application对象的变量值,UnLock /方法则解除对Application对象变量的锁定。 /例如聊天室的制作,也可以用Static对象变量来代替。 /实现: ApplicationName = txtName.Text; ApplicationPwd = txtPwd.Text; Server.Transfer(distination.aspx); /3.使用Session对象变量 /Session对象变量和Application对象变量一样,都是用来存储跨网页程序的变量或是对象。 /但与Application对象变量不同的是,Session对象变量只针对单一网页使用者,各个连接的 /机器有各自的Session对象变量,不同的客户端无法相互存取。在Session变量使用过程中, /当用户在应用程序中从一页移动到另一页时,存储在Session对象中的变量不会被放弃,只有 /当用户关掉浏览器或超过设定Session对象变量的有效时间时,Session变量才会消失。因此, /Session对象变量若存储过多的数据则会消耗大量的服务器资源,在使用时尤其要注意控制数量。 /当然也可以利用Session对象的方法,如获至宝Remove、Clear来及时清理,以降低资源的消耗。 /实现: SessionName = txtName.Text; SessionPwd = txtPwd.Text; Server.Transfer(distination.aspx); /4.使用Cookie对象变量 /Session对象变量和Application对象变量都是在服务器端产生的,与此不同,Cookie变量的数据 /是以文件形式放于客户端文件系统或客户端浏览器会话内的内存中,只含少量信息,并且可以永 /久存在或终止于所设定的时间,使用时配合ASP.NET的内置对象ResPonse和Request完成传值。另 /外,Cookie是与Web站点而不是具体页面关联的,不论用户请示浏览器站点中的哪个页面,浏览器 /和服务器都将交换Cookie信息。由于Cookie对象变量在客户端存取,不可避免地带来存取权限及 /安全性问题,对于用户而言,要慎用。 /实现: HttpCookie Name = new HttpCookie(Name); HttpCookie Pwd = new HttpCookie(Pwd); Name.Value = txtName.Text; Pwd.Value = txtPwd.Text; Response.AppendCookie(Name); Response.AppendCookie(Pwd); Server.Transfer(distination.aspx); /5.使用server.Transfer方法 /server.Transfer把执行流程从当前的aspx页面转到同一服务器的另一个aspx页面,新的aspx页面 /仍然使用前一aspx页面创建的应答流,可以通过对象属性的方式来存取信息。使用该方法进行值传 /递需要额外创建一些属性以便在另一页面访问它,这种方法是面向对象的,简洁而有效。 /实现: /在属性申明区写上相应的属性 Server.Transfer(distination.aspx); distination.csprivate void Page_Load(object sender, System.EventArgs e) . if(!IsPostBack) . /1.使用QueryString方式接值 if(Request.QueryStringName!=null | Request.QueryStringName.Trim()=) . Response.Write(您的姓名为: + Request.QueryStringName + + 您丢失的密码为: + Request.QueryStringPwd); /2.使用Application对象变量 Application.Lock(); Response.Write(您的姓名为: + ApplicationName.ToString() + + 您丢失的密码为: + ApplicationPwd.ToString(); Application.UnLock(); /3.使用Session对象变量 Response.Write(您的姓名为: + SessionName.ToString() + + 您丢失的密码为: + SessionPwd.ToString(); Session.Remove(Name); /或者用Clear方法 Session.Remove(Pwd); /4.使用Cookie对象变量 Res
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 斜屋面梁板高支模专项施工方案
- 小学天宫课堂活动方案策划
- 2025年注册设备监理师考试 设备监理实务考点精讲冲刺试卷
- 云计算技术在各行业中的应用前景分析
- 网红推广营销方案策略
- 夜间施工专项安全保障方案
- 期货从业资格之期货投资分析考试押题卷附参考答案详解【黄金题型】
- 2025年安徽蚌埠市事业单位招聘154人(市区)笔试备考题库及参考答案详解一套
- 2025年度民政部所属单位公开招聘应届毕业生笔试高频难、易错点备考题库及参考答案详解一套
- 2023年度收银审核员考前冲刺练习试题附答案详解(夺分金卷)
- DB3702T 31-2023 未成年人家庭监护能力评估工作规范
- 大学生反诈宣传课件
- 体育行业体育产业园区建设方案
- 2024-2025年历年成人高考民法真题及复习资料
- 幼儿园课程教研活动
- 幼儿烫伤课件教学课件
- 人美版(2024)小学美术一年级上册教学设计(附教材目录)
- 国家职业技术技能标准 6-29-01-01 砌筑工 人社厅发20235号
- 2024-2025学年初中数学八年级上册沪科版(2024)教学设计合集
- 中小学危险化学药品分类
- (完整版)新概念英语第一册单词表(打印版)
评论
0/150
提交评论