ASP.net如何实现数据在页面间的传递

作者&投稿:弭乳 (若有异议请与网页底部的电邮联系)
ASP.NET页面之间传递值的几种方式~

Flutter 是最新的一代跨平台APP开发框架,使用Flutter可以快速构建精美的应用,在 Flutter 页面 A跳转页面B 可通过 静态路由与动态路由两种方式,有时也需要 在两个页面之间传值,本视频讲解的就是这方面

Default1.aspx里面绑定超链接:
">Default2.aspx的cs文件里面获取传送的参数:
string news_id=Request.QueryString["NewsID"];然后通过newsid取出对应的数据,绑定到Default2.aspx页面上

隐藏域可以是任何存储在网页中的与网页有关的信息的存储库。使用隐藏域存入数值时用:hidden 控件。value=数值,取出接收数值时用:变量=hidden 控件。value。使用隐藏域的优点是实现简单, 隐藏域是标准的HTML 控件,不需要复杂的编程逻辑。隐藏域在页上存储和读取,不需要任何服务器资源,几乎所有浏览器和客户端设备都支持具有隐藏域的窗体。缺点是存储结构少,仅仅支持简单的数据结构,存储量少,因为它被存储在页面本身,所以无法存储较大的值,而且大的数据量会受到防火墙和代理的阻止。 2.使用Querystring 方法 QueryString 也叫查询字符串, 这种方法将要传递的数据附加在网页地址(URL)后面进行传递。如页面A.aspx 跳转到页面B.aspx,可以用Request.Redirect("B.aspx?参数名称=参数值")方法,也可以用超链接:,页面跳转后,在目标页面中可用Ruquest["参数名称"]来接收参数。使用QuerySting 方法的优点是实现简单, 不使用服务器资源;缺点是传递的值会显示在浏览器的地址栏上,有被篡改的风险,不能传递对象,只有在通过URL 请求页时查询字符串才是可行的。 3..使用application 变量 使用Application 变量也可以实现页面间的传值,Application变量是全局性的,所有用户共享一个Application 变量,一旦定义,它将影响到程序的所有部分。如果想在整个应用程序范围使用某个变量值Application 对象将是最佳的选择。存入数据时, 把值添加到Application 变量里:Application["变量名"]=数值;取出数据用:变量=Application["变量名"];在不需要使用该Application 时,要显式清除它:Application["量名"]=null。 Application 优点:易于使用,全局范围。可供应用程序中的所有页来访问。缺点:若保存数据的服务器端进程被损坏(如因服务器崩溃、升级或关闭而损坏),那么数据就会丢失,所以利用Application 一定要有保底的策略;占用服务器端的内存,这可能会影响服务器的性能以及应用程序的可伸缩性。 4.使用Cookie Cookie 可以在页面之间传递少量信息, 可以存储在客户端的文本文件中,也可存储在客户端的内存中。Cookie 方法适用于存储少量页面中经常改动的信息, 如为登陆过的网站保存登陆用户名,为用户输入提供方便,还有在一些用户自定义项目上保存用户的个性化设置。使用Cookie传递数据时可用:Response.Cookies["键名"]=键值;取出数据用:变量名=Request.Cookies["键名"]。使用Cookie 优点是:Cookie 存储在客户端, 不使用服务器资源,实现简单,可配置到期时间。缺点是:可以存储的数据量比较少,由于Cookie 并不被所有的浏览器支持,而且还可能被用户禁止或删除,所以不能用于保存关键数据。另外,Cookie 保存的形式是简单的明文文本,在它里面不宜保存敏感的、未加密的 数据。 5.ViewState ViewState 是由ASP.NET 页面框架管理的一个隐藏的窗体字段。当ASP.NET 执行某个页面时,该页面上的ViewState 值和所有控件将被收集并格式化成一个编码字符串, 然后被分配给隐藏窗体字段的值属性。使用ViewState 传递数据时可用:ViewState [" 变量名"]=数值,在取出数据时用:变量=ViewState["变量名"]。使用ViewState 的优点是:在对同一页的多个请求间自动保留值,不用服务器端资源,实现简单,视图状态中的值经过哈希计算和压缩,并且针对Unicode 实现进行编码,其安全性要高于使用隐藏域;缺点是因为ViewState 存储在页面本身,因此如果 存储较大的值,用户显示页和发送页时的速度可能会减慢。虽然视图状态以哈希格式存储数据,但它仍可以被篡改。 6.使用session 变量 Session 对象可以用来存储需要维护的指定对话的信息,不同的客户端生成不同的Session 对象。Session 用于存储特定于单独会话的短期信息。Session 的使用方法和格式与Application 相同。 优点:易于实现,并且提供较高的安全性和持久性,可以应对IIS 重启和辅助进程重启,可在多进程中使用。缺点是耗用服务器端的内存。所以不要存储大量的信息。Session 最常见的用途是与Cookie 一起向Web 应用程序提供用户标识功能,Session也可用于不支持Cookie 的浏览器。但是,使用无Cookie 的Session 需要将会话标识符放置在查询字符串中,同样会遇到本文在查询字符串一节中陈述的安全问题。 7.使用类的静态属性 这种方法是利用类的静态属性实现两个页面间的值传。定义一个包含静态属性的类;将要传送的值赋给静态属性;目标页面中可以通过静态属性获得源页面中要传的值。 优点是可以方便传送多个数据,缺点是需要额外编程,增加程序设计的工作量,占用服务器内存。 8.使用Server.Transfer 通过Server.Transfer 方法把执行流程从当前的ASPX 文件转到同一服务器上的另一个ASPX 页面的同时,可保留表单数据或查询字符串,做法是把该方法的第二个参数设置成True,在第一个页面用Server.Transfer("目标页面名。 aspx",true);目标页面取出数据用:Ruquest.Form["控件名称"]或Ruquest.QueryString["控件名称"]。 Asp.net2.0 中还可以这样来用,代码如下: PReviousPage pg1; pg1=(PreviousPage)Context.Handler; Response.Write(pg1.Name); 说明: 此段代码用在目标页面中取出传递的值,Previous- Page 是原页面的类名,Name 是在原页面定义的属性, 需要传递 的数据存入到此属性中。 使用这种方法, 需要写一些代码以创建一些属性以便可以 在另一个页面访问它, 可以在另一个页面以对象属性的方式来 存取数值,这个方法在页面间值传递中是特别有用的,这种方法 不但简洁,同时又是面向对象的。 9.Cache Cache 具有强大的数据操作功能, 以键值对集合的形式存 储数据,可以通过指定关键字来插入和检索数据项。它的基于依 赖性的终止功能, 使它能够精确控制如何并及时更新和消除缓 存中的数据。它可以内部进行锁定管理,不需要象Application 对象那样使用Lock()和Unlock()方法进行串行化管理。缺点是使用 方法较复杂,使用不当反而降低性能。 不同页面跳转情况下可采用的传值方法 1.情况一:源页面可以跳转到目标页面,源页面传递数据给目标页面 使用查询字符串, 将少量信息从一页传输到另一页以及不 存在安全性问题时,是一个简单常用的方法;使用Server.Transfer方法,可传递表单数据或查询字符串到另一个页面,还可以 保存初始页的HttpContext, 当目标页和源页面在同一个服务器 时,可以用此方法。 2.情况二:页面传递数值给自身页面 即在对同一页的多个请求间保留值, ViewState 属性可提供具有基本安全性的功能。也可用隐藏域,存储少量回发到自身或另一页的页信息时使用,不考虑安全性问题时使用。 3.情况三:源页面传递数值给目标页面,而源页面不能直接连接到目标页面。 有多个方法,具体用哪个要看具体情况。 Application: 存储由多个用户使用且更改不频繁的全局信息,此时安全性不成为问题。不要存储大量的信息。Session:存储特定于单独会话的短期信息,并且需要较高的安全性。不要在会话状态中存储大量的信息。需要注意,将为应用程序中每一会话的生存期创建并维护会话状态对象。在支持许多用户的应用程序中, 这可能会占用大量服务器资源并影响可缩放性。 Cookie: 当您需要在客户端存储少量信息以及不存在安全性问题时使用。类的静态属性,方便传送多个数据。 Cache :对象用于单个用户、一组用户或所有的用户。可以为多个请求长时间、高效率的保存数据。上述几个方法, 不仅用于情况三, 前面两种情况都可以使用,只是没有必要时尽量少用,否则会造成资源浪费或增加程序的复杂性。 【 .Net基础教程 】


asp.net 调用存储过程
两种不同的存储过程调用方法 为了突出新方法的优点,首先介绍一下在.NET中调用存储过程的“官方”方法。另外,本文的所有示例程序均工作于SqlServer数据库上,其它情况类似,以后不再一一说明。本文所有例子均采用C#语言。要在应用程序中访问数据库,一般性的步骤是:首先声明一个数据库连接SqlConnection,...

如何编写自定义SharePointWebServices
我们可以基于WSS构建强大的项目。做为开发人员,我们有时需要创建基于WSS的自定义 Web服务来满足特定的开发要求。注意:由于WSS增强的安全性,我们需要一些特殊的步骤来创建自定义Web服务。当我们使用VS.NET提供的ASP.NET Web service模板来创建我们的SharePoint Web service时,我们必须将Web service创建到...

网站设计用哪种开发语言好?普通企业网站建设用PHP还是.NET
首先,SP.NET 、PHP、都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。这是他们的共同点。Asp.net:首先来说,Asp.net 和 Asp 没什么关系,看着像是升级版本什么的,其实没什么联系。Asp 是脚本编程,用的是 ASP语言,而ASP.net 用的是C#语言,完全不同的东西。优点:封装性能...

ASP.NET 2.0 中的 Windows 身份验证
如果需要在应用程序的整个生命周期中模拟相同的标识 可以在 nfig 文件中的 identity 元素上指定凭据 以下示例显示如何模拟名为 TestUser 的 Windows 帐户 如果使用该方法 应该对这些凭据进行加密 使用 ASP NET 您可以使用 ASP NET IIS 注册工具 (Aspnet_regiis exe) 使用 ASP NET 版 您可以使用 Aspnet_setreg ...

asp.net:一个网页的textbox里的内容怎么传到另外一个网页
注:1、“SP.aspx” 是 链接的网址;2、“?”后增加参数,例子里有两个参数,分别是“testid”、“testname”,参数间用“&”分开;在链接的网址(即SP.aspx)的page.load事件里使用Request("***")函数捞取传递的值。下面给VB.net的例子 Protected Sub Page_Load(ByVal sender As Object, By...

asp.net如何判断用户是通过电脑登录还是手机登录
可以通过判断请求头中的 User-Agent 字段来判断用户是通过电脑登录还是手机登录。在 ASP.NET 中,可以通过 Request.Headers[\\"User-Agent\\"] 来获取 User-Agent 字段,然后根据其中包含的信息来判断是哪种设备类型。例如,如果 User-Agent 中包含 \\"Mobile\\"、\\"iPhone\\"、\\"Android\\" 等关键字,...

PHP与ASP,asp.net有什么不同
开放源代码脚本语言 PHP 和 Microsoft 的 ASP.NET 框架中的语言都属于这种类型;JavaServer Pages (JSP) 和 Perl\/Mason 也以这种方式运行。 在此,我将重点讲述 PHP — Oracle 已选择合并到其产品中的技术 —和 ASP.NET。我将概述两者的各种优势和弱点,并着重讨论那些将帮助您决定开发项目应选择哪种技术的因素...

.NET Framework 3.5 SP1正式版发布
微软于前段时间发布了 NET Framework 第一个SP服务包的最终版 这是一个累积更新 包含很多基于 NET Framework 和 不断生成的新功能 此外还包括 NET Framework SP 和 NET Framework SP 累积更新 支持x x IA 三种架构 NET Framework SP 集成了此前发布的三十个相关Hotfix热修复补丁 同时还引入了不少新...

..net sql如何实现多个表中数据相加
adoquery1.Fields[i].DataType=ftString 字段类型 update jb_spzl set kp_item_name=upper(kp_item_name) 修改数据库表中某一列为大写 select * from master.dbo.sysobjects ,jm_barcode.dbo.users 多库查询 adotable1.sort:='字段名称 ASC' adotable排序 SQL常用语句一览 sp_password null...

新.Net开发必备工具详解之Snippet Compiler
如果我们想编写VB NET语言的代码片段 而不是C#的话 可以在Option选项卡中进行设置 如下图所示 Snippet Compiler还有一个新的特性是 它可以支持两个版本的 NET Framework 分别为 NET Framework with SP 和 NET Framework 在编译时可以根据实际情况而选用 在默认情况下 Snippet Compiler添加了一些常用的程序...

中市区15231448384: ASP.net如何实现数据在页面间的传递 -
绪学毓乐: 隐藏域可以是任何存储在网页中的与网页有关的信息的存储库.使用隐藏域存入数值时用:hidden 控件.value=数值,取出接收数值时用:变量=hidden 控件.value.使用隐藏域的优点是实现简单, 隐藏域是标准的HTML 控件,不需要复杂的...

中市区15231448384: ASP.NET页面间数据传递的方法
绪学毓乐: 传递的方式有下面几种: 1. 用post方式,通过将参数放在url上提交到相应的另一个页面; 2. 用session; 3. 用cookie(和2有些类似); 4. 直接访问原页面服务器控件,这个方法不推荐,比较浪费资源和影响网站的性能. 如果数据不是很多而且不需要考虑太大的安全建议你用第一种方式.

中市区15231448384: ASP.NET中如何实现页内数据传递? -
绪学毓乐: 网页模式没有所谓页内传递的概念. 因为网页的生命周期在页面完成的同时已经结束的. 所有的数据都是通过提交、回发模式传递的. 你在ASP.Net中虽然可以直接调用TEXT属性但是其实中间还是经过一个自己提交自己的过程. 你需要设置一个按钮,在按钮中自己获取控件TEXT.

中市区15231448384: 列举ASP.NET 页面之间传递值的几种方式 -
绪学毓乐: id=1; response. Redirect().... 2.使用Session变量3.使用Server.Transfer4.Application5.<input type="hidden"></input>6.数据库使用QueryString 使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单...

中市区15231448384: ASP.NET如何在网页间传递变量 -
绪学毓乐: 1、asp.net 可以通过多种方式在页面间传递数据,简单的数据可以直接通过URL传到另一个界面//页面跳转可以使用 Response.Redirect("index.aspx?id=" + id + "&num=" + num); //?后面所跟的id= &num= 就是需要传送的数据,数据之...

中市区15231448384: 在asp.net中如何进行页面之间的传送 -
绪学毓乐: 有两种,一种是打开vs2008,文件--新建- -项目,左边点击web,然后再右边选择web应用程序. 另一种打开vs2008,文件--新建- -网站,选择asp.net网站.

中市区15231448384: ASP.net中怎么在两个页面之间传递数据 -
绪学毓乐: var arr=new Array("1","2","3","4","5"); location.href="b.aspx?arr="+arr; 这样传递的数组,其实就是以字符串arr = "1,2,3,4,5"形式传到到B页面!你可以在B页面的后台代码中以如下方法获取:if (!IsPostBack) { if (Request["arr...

中市区15231448384: ASP.NET页面之间传递值的几种方式 -
绪学毓乐: 但是一般来说,常用的较简单有QueryString,Session,Cookies,Application,Server.Transfer. 一、QueryString QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构...

中市区15231448384: ASP.NET中页面之间传值的方法 -
绪学毓乐: 可以用Gridview 自己带的方法嘛!点gridview 右上角的 GridView 任务;-编辑列-hyperlinkfield 那行属性就行了,那就是自带的超链接 然后你再设置它的属性 DataNavigateUrlFilelds : 主键名; DataNavigateUrFormat; Deatil.aspx?主键名={0};对了别忘了,在设置GridView 的datakeyNames 主键名: 就OK了,最后在Details.aspx 页面 string id=Reuqest["主键名"].tostring (); 其他的你都会了吧,呵呵

中市区15231448384: 急!!!! Asp.net 通过那些对象实现页面内的传值? -
绪学毓乐: (1)queryString (2)session (3)cookie (4)server.transfer (5)hidden control/view state (6)static member. (7)cache (8)application (9)DataBase (10)xml or other Files (11)XMLHTTP or Hidden iFrame/frame (12)Context.user.identity 他们的缺点和优点(...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网