ASP 页面(两个aspx页面)传值方式:
背景: 两个aspx 页面
valuepage.aspx tbusername tbpwd
obtainvalue.aspx tbusername tbpwd

1 使用QueryString方式:
valuespage.aspx值发送页面代码:
Response.Redirect("obtainvalue.aspx?username="+this.tbusername.text.trim()+"&pwd"+this.tbpwd.trim());
obtain.aspx接收值页面:
private void QueryString()
{
this.tbusername.text = request.queryString["username"];
this.tbpwd.text = request.querystring["pwd"];
}
2 使用Session传值:
valuespage.aspx 发送页面值:
Session["username"] = this.tbusername.text.trim();
Session["pwd"] = this.tbPwd.text.trim();
response.redirect("Obtainvalues.aspx");
obtainvalues.aspx接受页面:
this.tbusername.text = session["username"].tostring();
this.tbpwd.text =session["pwd"].tostring();

3 使用COOKIE变量传值:
发送页面
.aspx页面:
Response.Cookies["aaa"].Value = "hello world";
Response.Redirect("Default3.aspx");
接受页面:
.cs页面:
Label1.Text = Request.Cookies["aaa"].Value;

4 、使用Application对象变量传值:
传送页面代码:
//Application.Lock();
//Application["username"] =username.Text.Trim();
//Application["pwd"] = pwd.Text.Trim();
//Application.UnLock();
//Server.Transfer("Default2.aspx");
接受页面代码:(安全性较高适合密码传输)
//Application.Lock();
//username.Text =Application["username"].ToString();
//string a =Application["pwd"].ToString();
//string s ="#";
//for(int i=1;i<a.Length;i++)
//{
// s+=s;

//}
//pwd.Text = s;
//Application.UnLock();

5、使用Server.Transfer方法:
数值传送页面:
public string UserName
{get { return this.tbUserName.Text.Trim()? }
}
public string Pwd
{
get { return this.tbPwd.Text.Trim()? }
}
protected void btnTransferValue_Click(object
sender, EventArgs e)
{
Server.Transfer("ObtainValue.aspx")?
}
数值接受页面:
private void TransferValue()
{
ValuePage valuePage?
valuePage = (ValuePage)Context.Handler?
this.tbUserName.Text = valuePage.UserName?
this.tbPwd.Text = valuePage.Pwd?
}

两种跳转页面的区别:
在上文跳转到其他界面时使用Response.Redirect和
Server.Transfer,此处简单介绍其区别:
请求的过程:
1)浏览器aspx文件请求--->服务器执行--->遇到Response.Redirect语句->服务器发送Response.Redirect后面的
地址给客户机端的浏览器--->浏览器请求执行新的地址
2)浏览器aspx文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件

可以见Server.Transfer比Response.Redirect少了一次服务器
发送回来和客户端再请求的过程

数据保密:
1、Response.Redirect后地址会变成跳转后的页面地址。
2、Server.Transfer后地址不变,隐藏了新网页的地址及附带
在地址后边的参数值。具有数据保密功能。
传递的数据量(网址后附带的参数):
1、Response.Redirect能够传递的数据以2KB(也就是地址栏
中地址的最大的长度)为限。
2、传递的数据超过2KB时,务必使用Server.Transfer。

cookie 和session 的区别:
1、cookie数据存放在客户的浏览器上,session数据放在服务器
上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进
COOKIE欺骗考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较
用你服务器的性能。考虑到减轻服务器性能方面,应当使用
COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站
最多保存20个cookie。
5、所以个人建议:将登陆信息等重要信息存放为SESSION,其他
信息如果需要保留,可以放在COOKIE中。

ASP三种常用传值方式:的更多相关文章

  1. ASP.NET页面传值方式

    http://www.cnblogs.com/zhangkai2237/archive/2012/05/06/2486462.html http://www.cnblogs.com/xiaoyusmi ...

  2. Vue2.0的三种常用传值方式、父传子、子传父、非父子组件传值

    参考链接:https://blog.csdn.net/lander_xiong/article/details/79018737

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

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值. 存储对象传值.ajax.类.model.表单等!下面欧柏泰克和大家一起来看看asp.net页面传值方式一般有哪些?常用的较简单 ...

  4. Asp.net页面间传值方式汇总

    七种传值方式,分别是:URL传值,Session传值,Cookie传值,Server.Transfer传值,Application传值,利用某些控件的PostBackUrl属性和使用@Previous ...

  5. asp.net页面间传值方式

    使用asp.net开发项目,必然会在页面间进行传值,本文介绍几种常见的页面传值方式,仅作笔记,以便后续查找使用. 前提:新建两个页面:ValuePage.aspx,ObtainValue.aspx,本 ...

  6. ASP.NET MVC程序传值方式:ViewData,ViewBag,TempData和Session

    转载原地址 http://www.cnblogs.com/sunshineground/p/4350216.html 在ASP.NET MVC中,页面间Controller与View之间主要有以下几种 ...

  7. ASP.NET MVC Controller向View传值方式总结

    Controller向View传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通Vie ...

  8. asp.net mvc各种传值方式大全

    MVC 各种传值方式 ViewData传值. HomeController.cs Co de: public ActionResult Index(){       ViewData["Ti ...

  9. asp,net 传值方式 优缺点比较

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

随机推荐

  1. android: Incorrect line ending: found carriage return (\r) without corresponding newline (\n)

    当报这种错误的时候:Incorrect line ending: found carriage return (\r) without corresponding newline (\n) 解决方法: ...

  2. UI:UITableView 编辑、cell重用机制

    tableView编辑.tableView移动.UITableViewController tableView的编辑:cell的添加.删除. 使⽤场景: 删除⼀个下载好的视频,删除联系⼈: 插⼊⼀条新 ...

  3. (剑指Offer)面试题19:二叉树的镜像

    题目: 操作给定的二叉树,将其变换为源二叉树的镜像. 二叉树的定义如下: struct TreeNode{ int val; TreeNode* left; TreeNode* right; }; 输 ...

  4. TExternalThread TThread -- Delphi -- Cannot terminate an externally created thread ?

    Cannot terminate an externally created thread ? The VCL has a new TExternalThread class which derive ...

  5. Chrysler -- CCD (Chrysler Collision Detection) Data Bus

    http://articles.mopar1973man.com/general-cummins/34-engine-system/81-ccd-data-bus CCD (Chrysler Coll ...

  6. System.Runtime.InteropServices.COMException (0x800706BA) 解决方法

    提示“操作失败:无法获取MAC地址.”错误的解决方法. .NET 获取 MAC地址可能会遇到   System.Runtime.InteropServices.COMException (0x8007 ...

  7. 复选框输入Android Studio 如果修改LogCat的颜色,默认全是黑色看着挺不舒服的

    今天一直在查找复选框输入之类的问题,上午正好有机会和大家分享一下. 怎么找到并表现LogCat这里就不需要再讲了吧,主要说一下本篇的主题,如何修改他的颜色 .我们在使用Eclipse的时候应该都用过L ...

  8. (高精度运算4.7.26)POJ 1220 NUMBER BASE CONVERSION(高精度数的任意进制的转换——方法:ba1----->10进制----->ba2)

    package com.njupt.acm; import java.math.BigInteger; import java.util.Scanner; public class POJ_1220_ ...

  9. Java和C++中多态的实现方式

    多态是面向对象的最主要的特性之一,是一种方法的动态绑定,实现运行时的类型决定对象的行为.多态的表现形式是父类指针或引用指向子类对象,在这个指针上调用的方法使用子类的实现版本.多态是IOC.模板模式实现 ...

  10. hadoop集群扩展

    一.先改动master机上的host文件,新增内容 10.61.6.180 slaves15 二.改动master机上hadoop安装文件夹下的conf中的slaves文件.新增内容 slaves15 ...