ASP.NET 跨页面传值方法

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.QueryString["name"];
}

2. 使用Application 对象变量
    Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。
a.aspx的C#代码


代码如下:

private void Button1_Click(object sender, System.EventArgs e)
{
Application["name"] = Label1.Text;
Server.Transfer("b.aspx");
}

b.aspx中C#代码


代码如下:

private void Page_Load(object sender, EventArgs e)
{
string name;
Application.Lock();
name = Application["name"].ToString();
Application.UnLock();
}

3. 使用Session变量
    想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。
a.aspx的C#代码


代码如下:

private void Button1_Click(object sender, System.EventArgs e)
{
Session["name"] = Label.Text;
}

b.aspx中C#代码


代码如下:

private void Page_Load(object sender, EventArgs e)
{
string name;
name = Session["name"].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.Cookie["name"].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.post方法


代码如下:

<form action="default.aspx" method="post" enctype="application/x-www-form-urlencoded" name="form1" id="form1">
<label>xm
<input name="xm" type="text" id="xm" value="xiaoqi" style="width: 149px" />
</label>
<label><br />
xb
<input name="xb" type="text" id="xb" value="nan" style="width: 154px" />
</label>
<p>
<input type="submit" name="button" id="button" value="send" />
</p>
</form>
//获取客户端参数(post)2
this.Response.Write("<br/>" + this.Request.Form["xm"]);
this.Response.Write("<br/>" + this.Request.Form["xb"]);
this.Response.Write("<br/>请求类型:" + this.Request.RequestType);
this.Response.Write("<br/>从客户端读取POST成功!");

(0)

相关推荐

  • asp.net Reporting Service在Web Application中的应用

    原先刚装上Reporting Service时还觉得有点神秘,毕竟在做这个项目前还没有真正接触这个微软用于代替水晶报表的报表工具,而且微软似乎还不满足于一个报表工具那么简单. Reporting Services 是一种基于服务器的新型报表平台,部署在Microsoft® SQL Server™ 2000基础上,可用于创建和管理包含来自关系数据源和多维数据源的数据的表格报表.矩阵报表.图形报表和自由格式报表.可以通过基于 Web 的连接来查看和管理您创建的报表. Reporting Servic

  • ASP.Net的Application介绍

    在ASP.Net中Application用法与ASP是一样的,几乎是没有什么说的,但是它多了两个特别有用的事件,Application_OnBeginRequest和Application_OnEndRequest.他们的和原来的Application_OnStart和Application_OnEnd一样是放在global文件中的(注意这个文件在ASP中名字是global.asa,在ASP.Net中是global.asax). Application_OnStart是在整个ASP.Net应用首

  • asp.net 页面传值的几个方法

    在这篇文章里,azamsharp 将为我们介绍一些ASP.NET页面传值的方式.本文所举的例子非常简单,仅仅包含了一个文本框和几个按钮,当按钮点击时文本框中的字符串将会以不同的方式传递到另外的页面去. 1. Response.Redirect (或称 Query String 方式.URL方式) 复制代码 代码如下: Response.Redirect("WebForm5.aspx"); 首先让我们看看 Response.Redirect 方法,这应该是最简单的了,当我们点击Respo

  • asp.net页面传值测试实例代码(前后台)

    WebForm_1.aspx内容如下: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm_1.aspx.cs" Inherits="页面传值.WebForm_1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu

  • ASP.NET中Application和Cache的区别分析

    相同点:1. 二者存储的变量的有效范围都是整个应用程序的生命周期.2. 二者都可以存贮对象. 不同点:1. application是在asp阶段使用的,后来升级到.net后,使用的是cache,但为了向前兼容,依然保留了application. 2. cache比application使用更加灵活,功能更强大.cache可以设置每一个item的优先级,当服务器内存不够时,将对cache进行压缩,将一些很长时间没使用的或者优先级低的item从cache中移去.3.cache中可设置某个item的依

  • ASP.NET内置对象之Application对象

    新建一个网站,包括两个网页,代码如下: 1.Index.aspx代码:  复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="Index" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&

  • ASP.NET 页面传值常用方法总结

    一.表单提交: 复制代码 代码如下: <formaction= "target.aspx" method = "post" name ="form1"> <input name = "param1" value ="1"/> <input name = "param2" value ="2"/> </form> ....

  • ASP.NET页面之间传值的方式之Application实例详解

    Application Application变量在整个应用程序生命周期中都是有效的,类似于使用全局变量一样,所以可以在不同页面中对它进行存取.它和Session变量的区别在于,前者是所有的用户共用的全局变量,后者是各个用户独有的全局变量. 举例来解释: 网站访问的计数器变量一般采用Application变量,多个请求访问时共享这一个变量,均可对它进行操作,该变量可以被整个应用程序的各个页面直接使用. 用户登陆的帐号名一般采用Session变量,多个请求访问时有各自的Session变量,只能对自

  • ASP.NET实现页面传值的几种方法小结

    这三种方法是:QueryString,Session和Server.Transfer. 通过URL链接地址传递  send.aspx:  复制代码 代码如下: protected void Button1_Click(object sender, EventArgs e)    {        Request.Redirect("Default2.aspx?username=honge");    } receive.aspx: 复制代码 代码如下: string username

  • ASP.NET 跨页面传值方法

    1. 使用QueryString变量 QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法.但是对于传递数组或对象的话,就不能用这个方法了.下面是一个例子: a.aspx的C#代码 复制代码 代码如下: private void Button1_Click(object sender, System.EventArgs e) { string s_url; s_url = "b.aspx?

  • asp中静态页面实现方法

    1.使用isapi_rewrite进行动态链接重写html静态网址.isapi_rewrite是一个dll组件,re_write是iis里的一个模块.这个筛选器实现是通过正则表达式,将动态网页网址映射成为静态网址.如可将news.asp?id=95通过re_write将其转换成news/95.html.映射的正则表达式在httpd.ini文件里进行设置. 举个小小例:处理数据翻页,那么写法是: more_<%=page%>_<%=type%>.html (注:page是翻页页数,t

  • 详解AngularJS跨页面传值(ui-router)

    博主用的ionic 这里使用ui-router传值,用来在跳转页面的同时带着你想带走的东西一起跳走 (PS:博主半路出家,尚是菜鸟,写的东西自己跑起来并没有什么问题但不敢保证写的一定对,语言也很随意,仅供参考.另,期待各位前辈的指教) 博主用的ionic 这里使用ui-router传值,用来在跳转页面的同时带着你想带走的东西一起跳走 需求是这样的,我有一个商品单子(概览页),点一个商品就可以去看它的详情(详情页) 要解决的问题就是把概览页被点击的商品的id传给详情页,详情页拿着这个id给后台,后

  • asp.net Context.Handler 页面间传值方法第1/2页

    一.目前在ASP.NET中页面传值共有这么几种方式: 1.表单提交, <form action= "target.aspx" method = "post" name = "form1"> <input name = "param1" value = "1111"/> <input name = "param2" value = "2222&quo

  • ASP.NET通过更改Url进行页面传值的实现代码

    这里,通过假数据,手动创建的一个类,然后创建的一个集合,放入下拉框,选好值以后,点确定 会在另一个页面产生对应的id 创建一个类: using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace WebApplication1 { public class Dept { public int Id { get; set; } public string DeptName

  • 微信小程序 页面传值详解

    微信小程序 页面传值详解 一. 跨页面传值. 1 . 用 navigator标签传值或 wx.navigator, 比如 这里将good_id=16 参数传入detail页面, 然后detail页面的 onload方法内接受. 如果需要传多个参数, 用 & 链接即可 如果要传 数组, 字典等复杂类型, 要先用 JSON.stringify() 转成字符串传递. 注 : 如果转化的字符串中 有"?"这个符号, 则只会传递"?"以前的字符串, 这个问题我猜想可能

  • asp.net WebForm页面间传值方法

    ASP.NET WEB FORMS 给开发者提供了极好的事件驱动开发模式.然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的ASP应用程序中,你能够通过POST方法很容易的把一个值或多个值从一个页面传送到另一个页面(request()/request.form()/request.querystring()),用同样的方法在ASP.NET中实现有点麻烦.在这里,通过其他方式来解决这种情形.ASP.NET为我们提供了三种方式,一种是可以通过用QueryString来传送相应

  • 在ASP.NET 2.0中操作数据之三十四:基于DataList和Repeater跨页面的主/从报表

    导言 在前面一章里我们学习了如何在一个页里显示主/从信息.另外一种经常使用的模式就是将主从信息用两个页分别显示.在前面的跨页面的主/从报表 我们通过GridView显示所有的supplier来使用这个模式.GridView里包含一个HyperLinkField,链接到另外一个页,并将SupplierID通过querystring传过去.第二个页使用GridView列出了选中的supplier提供的product. 这样的两页主/从表也可以用DataList和Repeater来实现.唯一的区别是D

随机推荐