Asp.net页面之间传递参数的几种方法
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页面之间传递参数的几种方法相关推荐
- Asp.net页面之间传递参数的几种方法荟萃
第一种方法: 通过URL链接地址传递 send.aspx: protected void Button1_Click(object sender,EventArgs e) { ...
- 页面之间传递参数得几种方法
1.hidden变量 <form id="Form1" method="post" runat="server"> &l ...
- ASP.NET页面之间传递值的几种方式
页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...
- 经典面试题(三):ASP.NET部分----ASP.NET 页面之间传递值的几种方式
ASP.NET 页面之间传递值的几种方式 1.使用QueryString, 如....?id=1; response. Redirect().... 2.使用Session变量. 3.使用Serve ...
- ASP.NET 页面之间传递值的几种方式
1.使用QueryString, 如....?id=1; response. Redirect().... 2.使用Session变量 3.使用Server.Transfer 4.Cookie传值 5 ...
- asp.net 页面之间跳转的几种方法及区别(转)
<a>标签 1. <a href="test.aspx"></a> 2. 这是最常见的一种转向方法; Hyper ...
- 窗体之间传递值的几种方法
窗体之间传递值的几种方法 场景如下: 我有一个mainFrm(父窗体), 一个subFrm(子窗体) 点击父窗体的按钮启动子窗体,点击子窗体的按钮可以给父窗体设置值.如下图 第一种方法:启动子窗体,将 ...
- 在两个ASP.NET页面之间传递变量【转】
ASP.NET提供了事件驱动编程模型,使开发者简化了应用程序的总体设计,但是这个也造成了它固有的一些问题,例如,在传统的ASP里,我们可以通过使用POST方法很容易地实现页面间传递变量,同样的事情,在 ...
- 在两个ASP.NET页面之间传递值
引言 ASP.NET提供了卓越的事件驱动编程模型,让开发者简化了应用程序的总体设计,但是这个也造成了它固有的一些问题,例如,使用传统的ASP里,我们可以通过使用POST方法很容易地实现页面间传递值,同 ...
最新文章
- Unknown host 'services.gradle.org' 解决方法
- 理解stl中的erase
- 数据分析师最终都会代码化的3点原因?!
- hexo的yelee主题本地搜索故障
- windows编程点滴(四)之线程的同步
- orcale 之 集合操作
- java转换为字符串_java – 如何从int转换为字符串?
- 【RK3399Pro学习笔记】十五、ROS中launch启动文件的使用方法
- python socket udp_python网络-Socket之udp编程(24)
- EAST算法超详细源码解析:数据预处理与标签生成
- [翻译]ElasticSearch官方文档-执行查询和过滤操作
- 十、基于FPGA的PCIE协议介绍(一)
- send()、sendto()和recv()、recvfrom()的使用
- Elasticsearch辅助插件安装
- 虫儿飞简谱用计算机,乐曲简谱(虫儿飞简谱)
- HTML5~用户注册页面的设计与实现
- 【rf】robotframework自动化测试环境搭建
- 1块钱整个域名,这波不错
- 【实习周记】微信网络组件——腾讯Mars框架的原理、编译和使用
- git配置及常见命令
热门文章
- 【系统架构设计师】软考高级职称,来自订阅者真实反馈,从理论、实践、技巧让你掌握论文写作秘诀
- Java虚拟机(六)——虚拟机栈
- SpringCloud Gateway 服务网关,过滤器
- 树莓派超声波车牌识别系统
- 计算机英语摘要,英语翻译摘要地理信息系统 (GIS,Geographic Information System) 是一种基于计算机的工具...
- linux 添加接口永久,在Linux中,配置虚拟网络接口
- php 不同页面全局变量,php中全局变量在多个文件中引用问题
- java web 启动顺序_JavaWeb开发Servlet过滤器链执行顺序详解
- 解决java连接mysql警告:Establishing SSL connection without server‘s identity verification is not recommend.
- 日志能被截取吗 log4j_Java日志体系居然这么复杂?——架构篇