WebForm多页面传值跳转
一、URL传值
URL传值是利用跳转地址直接加变量定义内容
格式:跳转地址?任意变量=传的值--?=之间不能有空格
多条数据传值 在地址栏继续拼接&key=value
void Button1_Click(object sender, EventArgs e)
{
string path = "Default2.aspx?aaa=" + TextBox1.Text + "&bbb=" + TextBox2.Text;
Response.Redirect(path);}
接收值得界面:
Label1.Text = Request["aaa"];
Label1.Text += "," + Request["bbb"];
二、Session传值
Session简介:
在服务器中为每个用户浏览器创建的一个会话对象(session对象)。
注意:1、一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。
2、Session存放时间20min
3、浏览器关闭断开此条链接,不能再次访问
4、Session里面存储Object类型,可存储对象
Session传值:
1.赋值:
protected void Page_Load(object sender, EventArgs e)
{
//session赋值
string s="tr";
Session["first"] = s;
//页面传输
Response.Redirect("Main.aspx");
}
2、session取值:
protected void Page_Load(object sender, EventArgs e)
{
//变量接收
string a = Session["first"].ToString();
//存放到控件
Label1.Text = a;
}
问题:关闭浏览器再次输入跳转地址报错
解决方案:在取值时先进行if判断 --session["key"]!=null;
三、Cookie传值
1、赋值:
protected void Page_Load(object sender, EventArgs e)
{
//session赋值
string s="tr";
Response.Cookies["first"].Value = s;
//增长保存时常
Response.Cookies["first"].Expires=DateTime.Now.AddDays();
//页面传输
Response.Redirect("Main.aspx");
}
2、取值:
protected void Page_Load(object sender, EventArgs e)
{
//防报错判断
if(Request.Cookies["first"]!=null)
{//变量接收
string a =Request.Cookies ["first"].Value;
//存放到控件
Label1.Text = a;
}
}
cookie 和session 的区别:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5、cookie关闭浏览器打开同一浏览器地址有值,session无值,cookie在不同浏览器同一地址无值
WebForm多页面传值跳转的更多相关文章
- 【2017-05-21】WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性、Js中getAttribute和超链接点击弹出警示框。
一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值,方式: href="地址?key= ...
- WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性和超链接点击弹出警示框
一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值方式: href="地址?key=v ...
- WebForm跨页面传值---内置对象
一.Response Response - 响应请求对象 string path = "Default2.aspx": (1)Response.Redirect(path); -- ...
- WebForm aspx页面传值---7种方式
1.get方式 发送页 <form id="form1" runat="server"> <div> <a h ...
- webform页面传值和删除修改
一.webform跨页面传值1.内置对象地址栏数据拼接 QueryString 优点:简单好用:速度快:不消耗服务器内存. 缺点:只能传字符串:保密性差(调转页面后在地址栏显示):长度有限.响应请求对 ...
- 【swift学习笔记】一.页面转跳的条件判断和传值
在转跳页面之前我们可能会判断一下是否有输入正确的数据,如下图所示,如果没有数据输入则弹出提示,不进行转跳. 一:页面转跳 1.第一个页面的上放上一个Label一个textfield和一个按钮 2.在第 ...
- WebForm 页面传值
一.使用Querystring Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象.如果你想传递一个安全性不是那么太重要或者是 ...
- [HTML]js实现页面跳转,页面A跳到另一个页面B.以及页面传值(中文)
要实现从一个页面A跳到另一个页面B,js实现就在A的js代码加跳转代码 JS跳转大概有以下几种方式: 第一种:(跳转到b.html)<script language="javascri ...
- webform 页面传值的方法总结
ASP.NET页面之间传递值的几种方式 页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有Quer ...
随机推荐
- C#中全局处理异常方式
using System; using System.Configuration; using System.Text; using System.Windows.Forms; using ZB.Qu ...
- codeblocks “can't find compiler executable in yourconfigured search ……”
新安装的codeblocks 16.01,安装后打开提示如下,没法用..原因是编译器并没有找对自己安装的 mingw 的安装位置. 解决办法:如下图点击 Auto-detect 之后,会看到位置信息变 ...
- <亲测>.NET Core项目在Linux上使用QRCoder时出错"Unable to load DLL 'gdiplus'"
Centos 7 解决方案如下: yum install libgdiplus-devel
- "上市时间: 2014年秋冬季" unicode十进制编码转中文
"上市时间: 2014年秋冬季" unicode十进制编码转中文 System.Web.HttpUtility.HtmlDecode(tmp);
- ALGO-9_蓝桥杯_算法训练_摆动序列(DP)
问题描述 如果一个序列满足下面的性质,我们就将它称为摆动序列: . 序列中的所有数都是不大于k的正整数: . 序列中至少有两个数. . 序列中的数两两不相等: . 如果第i – 1个数比第i – 2个 ...
- 【linux】之常用命令-杂项
查看端口:lsof -i :80 二.内存大小[root@xbidc ~]# cat /proc/meminfo |grep MemTotalMemTotal: 1034612 kB[root@xbi ...
- java中遍历实体类,获取属性名和属性值
方式一(实体类): //java中遍历实体类,获取属性名和属性值 public static void testReflect(Object model) throws Exception{ for ...
- uoj#213. 【UNR #1】争夺圣杯
http://uoj.ac/problem/209 单调栈求出每个位置x左边第一个大于它的位置L[x]和右第一个不小于它的位置R[x],于是矩形L[x]<=l<=x<=r<=R ...
- 修改ECSHOP的小数点保留位数
客户站点http://carfa.hk79.2ifree.com 原来的程序直接取整了,现在做下面修改. 首先打开文件 /carfa/web/includes/lib_common.php 第一步:在 ...
- HDOJ 2001 ASCII码排序
#include<set> #include<iostream> using namespace std; int main() { char a, b, c; while ( ...