易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.NET 页面间数据传递方法

0、引言
    Web 页面是无状态的, 服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留。在用Asp.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确、安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.NET 下的解决此问题的各种方法和各自的适用场合。
1、数据传递的各种方法和分析
 
1.1 使用Querystring 方法
     QueryString 也叫查询字符串, 这种方法将要传递的数据附加在网页地址(URL)后面进行传递。如页面A.aspx 跳转到页面B.aspx,可以用Request.Redirect("B.aspx?参数名称=参数值")方法,也可以用超链接:<a href="B.aspx?参数名称=参数值">,页面跳转后,在目标页面中可用Ruquest["参数名称"]来接收参数。使用QuerySting 方法的优点是实现简单, 不使用服务器资源;缺点是传递的值会显示在浏览器的地址栏上,有被篡改的风险,不能传递对象,只有在通过URL 请求页时查询字符串才是可行的。
1.2 利用隐藏域
      隐藏域不会显示在用户的浏览器中, 一般是在页面中加入一个隐藏控件, 与服务器进行交互时把值赋给隐藏控件并提交给下一页面。隐藏域可以是任何存储在网页中的与网页有关的信息的存储库。使用隐藏域存入数值时用:hidden 控件.value=数值,取出接收数值时用:变量=hidden 控件.value。使用隐藏域的优点是实现简单, 隐藏域是标准的HTML 控件,不需要复杂的编程逻辑。隐藏域在页上存储和读取,不需要任何服务器资源,几乎所有浏览器和客户端设备都支持具有隐藏域的窗体。缺点是存储结构少,仅仅支持简单的数据结构,存储量少,因为它被存储在页面本身,所以无法存储较大的值,而且大的数据量会受到防火墙和代理的阻止。
1.3 ViewState
      ViewState 是由ASP.NET 页面框架管理的一个隐藏的窗体字段。当ASP.NET 执行某个页面时,该页面上的ViewState 值和所有控件将被收集并格式化成一个编码字符串, 然后被分配给隐藏窗体字段的值属性。使用ViewState 传递数据时可用:ViewState [" 变量名"]=数值,在取出数据时用:变量=ViewState["变量名"]。使用ViewState 的优点是:在对同一页的多个请求间自动保留值,不用服务器端资源,实现简单,视图状态中的值经过哈希计算和压


相关文档:

浅谈ASP.net安全编程

在Web编程过程中,存在着很多安全隐患。比如在以前的ASP版本中,Cookie为访问者和编程者都提供了方便,并没有提供加密的功能。打开IE浏览器,选择“工具”菜单里的“Internet选项”,然后在弹出的对话框里单击“设置”按钮,选择“查看文件”按钮,在弹出的窗口中,就会显示硬盘里 ......

asp.net如何连接sql server2000数据库

★Asp.net如何连接SQL Server2000数据库★
 
大家好,以下是有关ASP.net连接SQL Server2000数据库的例程,
在这里和大家分享一下:
Asp.net连接SQL Server2000数据库例程详解: 
<%@ Import Namespace="System.Data" %> 
<%@ Import NameSp ......

ASP.NET连接字符串

1.数据库文件连接
<add name="LocalSqlServer" connectionString="Data
Source=.\SQLExpress;Integrated
Security=True;  
  AttachDBFilename=|DataDirectory|TimeTracker.mdf;User
Instance=true" />
 一.  integrated security=true为windows用户验证,而为f ......

asp.net乱码处理

在Web.Config文件里面
<system.web>
   加入一下这段代码
</system.web>
<globalization requestEncoding="GB2312" responseEncoding ="GB2312"/>
顺便说一下Urlencode的编码技巧。
System.Web.HttpUtility.UrlEncode(str, Encoding.GetEncoding("GB2312"));
可以根据需要去格式化Url的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号