个人网站:http://www.51pansou.com

.net视频下载:.net视频教程

.net源码下载:.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;
}

个人网站:http://www.51pansou.com

.net视频下载:.net视频教程

.net源码下载:.net源码

ASP.NET跨页面传值技巧[总结]的更多相关文章

  1. ASP.NET跨页面传值技巧

      1 使用QueryString变量    QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用  ...

  2. asp.net 跨页面传值常用方法

    常用方法有以下: 1.queryString 2.form-post控件传递 3.cookie 4.application 5.session querystring: http://website. ...

  3. asp.net跨页面传值

    a.aspx.cs //获取a中的id HttpCookie objCookie = new HttpCookie("myCookie", id); Response.Cookie ...

  4. 【2017-05-21】WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性、Js中getAttribute和超链接点击弹出警示框。

    一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值,方式: href="地址?key= ...

  5. WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性和超链接点击弹出警示框

    一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值方式: href="地址?key=v ...

  6. c#ASP.NET中页面传值共有这么几种方式

    一.目前在ASP.NET中页面传值共有这么几种方式: 1.Response.Redirect("http://www.hao123.com",false); 目标页面和原页面可以在 ...

  7. ASP.NET中页面传值

    一.目前在ASP.NET中页面传值共有这么几种方式: 1.表单提交,    <form action= "target.aspx" method = "post&q ...

  8. ASP.NET之页面传值

    一.目前在ASP.NET中页面传值共有这么几种方式: 1.使用QueryString变量QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全 ...

  9. angularJs 跨控制器与跨页面传值

    虽然网上概括了四种或更多的传值方式,但我现在用的顺手的就两种 首先要知道AngularJs可以构建一个单页面应用程序,所以我划分为跨控制器传值 和 跨页面传值 两类 1.跨控制器传值—— $rootS ...

随机推荐

  1. Office Excel找不到PERSONAL.XLS怎么办

    网上有人说这个文件在XLSTART里面,但是我里面没东西   打开PERSONAL.XLS的情况下,点击文件,属性,弹出窗口就有他的位置   你还是直接用Everything搜索一下吧.

  2. 浏览器判断是否安装了ios/android客户端程序

    最近在做一个项目,该项目的前身是为mobile browser量身打造的一个网站.现在有这样一个需求: 当用户在用mobile browser浏览该网站的时候会点击一个按钮/超链接,通过这个按钮的点击 ...

  3. 工作总结 2018 - 4 - 13 select标签 multiple 属性 同时选择多个选项

    <div class="col-xs-4"> @Html.DropDownList("CustomerType", (MultiSelectList ...

  4. 使用heartbeat+monit实现主备双热备份系统

    一.使用背景 项目须要实现主备双热自己主动切换的功能,保证系统7*24小时不间断执行.现已有两台双网卡的IBM的server,为了不再添加成本採购独立外部存储设备和双机热备软件.採用了linux下开源 ...

  5. jquery中怎样防止冒泡事件

    jquery中怎样防止冒泡事件 1.利用event.stopPropagation() 2.利用return false 3.利用event.preventDefault()

  6. ArcGIS中生成蜂窝多边形算法解析

    近来有不少同学.都有问我关于蜂窝多边形的问题.也就是正六边形,也就是以下这个东东: 一般的问答模式例如以下: 亲们问:ArcGIS里面那个工具能够做这个东东? 虾神答:额,没有原生的工具. 亲们问:那 ...

  7. jboss相关的术语

    1 jboss eap java ee application server.red hat官方版本. 2 jboss as/wildfly java ee application server的社区 ...

  8. 响应在此上下文中不可用 asp.net

    (一)实例1: 在asp.net程序中添加了一个 类.cs 如下 using System; using System.Collections; using System.ComponentModel ...

  9. ubuntu 16.04 Python Anaconda 安装

    Python Anaconda 不同版本在官网上的位置:https://www.anaconda.com/download/#linux 进入官网=>Changelog=>Product ...

  10. sqlserver新加一自增长的列,并且更新为行号

    --查询行号 select row_number()over(order by CHECKTIME )as RowNum,*from CHECKINOUT --更新id列为行号 update CHEC ...