Asp.net页面之间传递参数的几种方法

第一种方法:
通过URL链接地址传递Request.QueryString
send.aspx:
   protected void Button1_Click(object sender, EventArgs e)
     {
         Request.Redirect("Default2.aspx?username=honge");
     }
 
receive.aspx:
string username = Request.QueryString["username"];这样可以得到参数值。

第二种方法:
通过post方式Request。
send.aspx
<form id="form1" runat="server" action="receive.aspx" method=post>
     <div>
  <asp:TextBox ID="username" runat="server"></asp:TextBox>
  //<input type="text" name="username" />
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
 </div>
</form>
 
receive.aspx
string username = Ruquest.Form["receive"];//string username = Ruquest["username"];

第三种方法:
通过session
send.aspx:
   protected void Button1_Click(object sender, EventArgs e)
     {
         Session["username"] = "honge";
         Request.Redirect("Default2.aspx");
     }
 
receive.aspx:
string username = Session["username"];这样可以得到参数值。

第四种方法:
通过Application
send.aspx:
   protected void Button1_Click(object sender, EventArgs e)
     {
         Application["username"] = "honge";
         Request.Redirect("Default2.aspx");
     }
 
receive.aspx:
string username = Application["username"];这样可以得到参数值。

第五种方法:
通过Server.Transfer
send.aspx:
   public string Name
     {
         get {
             return "honge";
         }
     }
     protected void Button1_Click(object sender, EventArgs e)
     {
         Server.Transfer("Default2.aspx");
     }
 
receive.aspx:
    send d = Context.Handler as send ;
         if (d != null)
         {
             Response.Write(d.Name);这样可以得到参数值。
         }
  
如果在asp.net 2.0中还可以这样用:通过PreviousPage
PreviousPage d = Context.Handler as PreviousPage ;
if (d != null)
         {
             Response.Write(d.Name);这样可以得到参数值。
         }
也可以这样用:
send.aspx:
<asp:Button ID="btnSubmit" runat="server" PostBackUrl="~/reveive.aspx" Text="Submit" />

receive.aspx:
<%@ PreviousPageType VirtualPath="~/Default.aspx" %>
string name = PreviousPage.Name;这样可以得到参数值。
注意:如果你的页面中用到了MasterPage的话 Server.Transfer 传递的 PreviousPage就无效了,不知道这是什么原因.所以在用到MasterPage的话,最好用Session或是Context.Items["username"]来实现.

第六种方法:
通过Cookie
方法类似Session。

第七种方法:
通过Viewstate
Viewstate使用简单,缺点是只能够在同一个页面使用,在ASP.NET2.0里这个问题可以使用Button的PostBackUrl进行解决。

第八种方法:
通过Cache
Cache通常用于缓存服务端某些不常变动的数据。
使用Cache存储数据的场合虽然不多,但是毕竟也是一种手段,另外,在使用Cache存储DataSet时,其实还是引用而不是内容的拷贝。

转载于:https://www.cnblogs.com/lucienbao/archive/2010/01/25/asp-dot-net-request.html

Asp.net页面之间传递参数的几种方法相关推荐

  1. Asp.net页面之间传递参数的几种方法荟萃

    第一种方法: 通过URL链接地址传递  send.aspx:   protected void Button1_Click(object sender,EventArgs e)     {       ...

  2. 页面之间传递参数得几种方法

    1.hidden变量 <form id="Form1" method="post" runat="server">     &l ...

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

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...

  4. 经典面试题(三):ASP.NET部分----ASP.NET 页面之间传递值的几种方式

    ASP.NET 页面之间传递值的几种方式 1.使用QueryString,  如....?id=1; response. Redirect().... 2.使用Session变量. 3.使用Serve ...

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

    1.使用QueryString, 如....?id=1; response. Redirect().... 2.使用Session变量 3.使用Server.Transfer 4.Cookie传值 5 ...

  6. asp.net 页面之间跳转的几种方法及区别(转)

    <a>标签 1.         <a href="test.aspx"></a> 2.         这是最常见的一种转向方法; Hyper ...

  7. 窗体之间传递值的几种方法

    窗体之间传递值的几种方法 场景如下: 我有一个mainFrm(父窗体), 一个subFrm(子窗体) 点击父窗体的按钮启动子窗体,点击子窗体的按钮可以给父窗体设置值.如下图 第一种方法:启动子窗体,将 ...

  8. 在两个ASP.NET页面之间传递变量【转】

    ASP.NET提供了事件驱动编程模型,使开发者简化了应用程序的总体设计,但是这个也造成了它固有的一些问题,例如,在传统的ASP里,我们可以通过使用POST方法很容易地实现页面间传递变量,同样的事情,在 ...

  9. 在两个ASP.NET页面之间传递值

    引言 ASP.NET提供了卓越的事件驱动编程模型,让开发者简化了应用程序的总体设计,但是这个也造成了它固有的一些问题,例如,使用传统的ASP里,我们可以通过使用POST方法很容易地实现页面间传递值,同 ...

最新文章

  1. Unknown host 'services.gradle.org' 解决方法
  2. 理解stl中的erase
  3. 数据分析师最终都会代码化的3点原因?!
  4. hexo的yelee主题本地搜索故障
  5. windows编程点滴(四)之线程的同步
  6. orcale 之 集合操作
  7. java转换为字符串_java – 如何从int转换为字符串?
  8. 【RK3399Pro学习笔记】十五、ROS中launch启动文件的使用方法
  9. python socket udp_python网络-Socket之udp编程(24)
  10. EAST算法超详细源码解析:数据预处理与标签生成
  11. [翻译]ElasticSearch官方文档-执行查询和过滤操作
  12. 十、基于FPGA的PCIE协议介绍(一)
  13. send()、sendto()和recv()、recvfrom()的使用
  14. Elasticsearch辅助插件安装
  15. 虫儿飞简谱用计算机,乐曲简谱(虫儿飞简谱)
  16. HTML5~用户注册页面的设计与实现
  17. 【rf】robotframework自动化测试环境搭建
  18. 1块钱整个域名,这波不错
  19. 【实习周记】微信网络组件——腾讯Mars框架的原理、编译和使用
  20. git配置及常见命令

热门文章

  1. 【系统架构设计师】软考高级职称,来自订阅者真实反馈,从理论、实践、技巧让你掌握论文写作秘诀
  2. Java虚拟机(六)——虚拟机栈
  3. SpringCloud Gateway 服务网关,过滤器
  4. 树莓派超声波车牌识别系统
  5. 计算机英语摘要,英语翻译摘要地理信息系统 (GIS,Geographic Information System) 是一种基于计算机的工具...
  6. linux 添加接口永久,在Linux中,配置虚拟网络接口
  7. php 不同页面全局变量,php中全局变量在多个文件中引用问题
  8. java web 启动顺序_JavaWeb开发Servlet过滤器链执行顺序详解
  9. 解决java连接mysql警告:Establishing SSL connection without server‘s identity verification is not recommend.
  10. 日志能被截取吗 log4j_Java日志体系居然这么复杂?——架构篇