asp.net页面传值的五种方法:QueryString,Session,Application,Request.Cookies,Server.Transfer
其中Cookie和Server.Transfer两种方式不同于前面三种,Server.Transfer充分体现了面向对象思想。

首先新建webForm项目,然后添加WebForm1和WebForm2页面。

WebForm1.aspx页面客户端对象代码如下
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server" method="POST" action="WebForm1.aspx">
<label>用户名:</label>
<input type="text" id="UserName" name="UserName"/><br/>
<label>密码:</label>
<input type="text" id="Pwd" name="Pwd"/><br/>
<input type="submit" />
</form>
</body>
</html>
WebForm1.aspx.cs代码如下
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
 
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
string user;
string pwd;
public string UserName
{
get { return this.user; }
}
 
public string Pwd
{
get { return this.pwd; }
}
 
protected void Page_Load(object sender, EventArgs e)
{
//1.获取表单提交数据,使用QueryString获取提交过来的值,发送出去
#region
//if (IsPostBack)
//{
// string user = Request.Form["UserName"];
// string pwd = Request.Form["Pwd"];
// Response.Redirect("WebForm2.aspx?UserName=" + user + "&Pwd=" + pwd);
//}
#endregion
 
//2.获取表单提交数据,使用Session获取提交过来的值,发送出去
#region
//if (IsPostBack)
//{
// string user = Request.Form["UserName"];
// string pwd = Request.Form["Pwd"];
// //string user = Request["UserName"];
// //Response.Write("<script>alert('" + user + pwd + "')</script>");
// if (!string.IsNullOrEmpty(user))
// {
// Session["UserName"] = user;
// Session["Pwd"] = pwd;
// Response.Redirect("WebForm2.aspx");
// }
//}
#endregion
 
//3.获取表单提交数据,使用Application获取提交过来的值,发送出去
#region
//if (IsPostBack)
//{
// string user = Request.Form["UserName"];
// string pwd = Request.Form["Pwd"];
////string user = Request["UserName"];
////Response.Write("<script>alert('" + user + pwd + "')</script>");
// if (!string.IsNullOrEmpty(user))
// {
// Application["UserName"] = user;
// Application["Pwd"] = pwd;
// Response.Redirect("WebForm2.aspx");
// }
//}
#endregion
 
//4.获取表单提交数据,使用Server.Transfer获取提交过来的值,发送出去
#region
//if (IsPostBack)
//{
// user = Request.Form["UserName"];
// pwd = Request.Form["Pwd"];
// //string user = Request["UserName"];
// //Response.Write("<script>alert('" + user + pwd + "')</script>");
// if (!string.IsNullOrEmpty(user))
// {
// Server.Transfer("WebForm2.aspx");
// }
//}
#endregion
 
//5.获取表单提交数据,使用HttpCookie获取提交过来的值,发送出去
#region
//if (IsPostBack)
//{
// string user = Request.Form["UserName"];
// string pwd = Request.Form["Pwd"];
// HttpCookie cookieName = new HttpCookie("UserName", user);
// HttpCookie cookiePwd = new HttpCookie("Pwd", pwd);
// Response.AppendCookie(cookieName);
// Response.AppendCookie(cookiePwd);
// Server.Transfer("WebForm2.aspx");
//}
#endregion
}
}
}
WebForm2.aspx客户端无需修改,WebForm2.aspx.cs代码如下
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
 
namespace WebApplication1
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//1.QueryString获取值
#region
//string i = Request.QueryString["UserName"] + Request.QueryString["Pwd"]; ;
//Response.Write("<script>alert('" + i + "')</script>");
#endregion
 
//2.Session获取值
#region
//string info = Session["UserName"].ToString() + Session["Pwd"].ToString();
//Response.Write("<script>alert('" + info + "')</script>");
#endregion
 
//3.Application获取值
#region
//string infos = Application["UserName"].ToString() + Application["Pwd"].ToString();
//Response.Write("<script>alert('" + infos + "')</script>");
#endregion
 
//4.Server.Transfer获取值
#region
//WebForm1 valuePage;
//valuePage = (WebForm1)Context.Handler;
//string a = valuePage.UserName + valuePage.Pwd;
//Response.Write("<script>alert('" + a + "')</script>");
#endregion
 
//5.Request.Cookies获取值(不同点是:①Cookies是存在于Request中的,②注意要加Cookies[]之后不要忘记加上.Value)
#region
//string c = Request.Cookies["UserName"].Value.ToString() + Request.Cookies["Pwd"].Value.ToString();
//Response.Write("<script>alert('"+c+"')</script>");
#endregion
}
}
}

 

ASP.NET页面传值与跳转的更多相关文章

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

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

  2. ASP.NET页面传值不使用QueryString

    ASP.NET页面传值不使用QueryString   Asp.net中的页面传值方法: 1         Url传值 特点:主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址 ...

  3. ASP.Net页面传值比较

    ASP.Net页面传值比较   作为一个ASP.Net程序员,尤其是搞B/S开发的,对于不同页面之间变量值的传递用的非常广泛,而掌握不同方式之间的区别和特点也就很有必要.本文将针对这一知识点做一个简单 ...

  4. Asp.net 页面传值的方法

    ASP.NET页面传值的方法 From:Refresh-air 在面试的时候,经常会遇到这样的问题,其实我们会对其中的几种方法比较熟悉,因为项目中经常使用.但是要全面的回答ASP.NET中页面传值的方 ...

  5. ASP.NET页面传值的方法

    ASP.NET页面传值的方法 From:Refresh-air 在面试的时候,经常会遇到这样的问题,其实我们会对其中的几种方法比较熟悉,因为项目中经常使用.但是要全面的回答ASP.NET中页面传值的方 ...

  6. net面试 ASP.NET页面传值的各种方法和分析 (copy)

    Web页面是无状态的, 服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留.在用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题 ...

  7. C/S ASP.NET页面传值汇总

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

  8. asp.net页面之间的跳转

    调用Request.CurrentExecutionFilePath方法返回到当前页面 站点中常常要跳转页面,调用Request.CurrentExecutionFilePath方法能够获取当前页面的 ...

  9. asp.net页面传值方法汇总

    1. Get(即使用QueryString显式传递)     方式:在url后面跟参数.     特点:简单.方便.     缺点:字符串长度最长为255个字符:数据泄漏在url中.     适用数据 ...

随机推荐

  1. 在Qt中将函数发送到主线程执行

    考虑这样一种需求,使用Qt的线程类QThread在后台执行操作(比如说拷贝文件)的时候发生了错误,产生了一个错误信息需要提醒给用户,在后台输出很显然是不够的,因为用户可能根据就没有任何控制台可供程序输 ...

  2. 【模拟】XMU 1055 数七

    题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1055 题目大意: 报数游戏,不能报7的倍数和2进制下含有111的数. 给定n,m(1& ...

  3. HDU_1429——胜利大逃亡续,十位二进制状态压缩,状态判重

    Problem Description Ignatius再次被魔王抓走了(搞不懂他咋这么讨魔王喜欢)……这次魔王汲取了上次的教训,把Ignatius关在一个n*m的地牢里,并在地牢的某些地方安装了带锁 ...

  4. hdu-1010 dfs+剪枝

    思路: 剪枝的思路参考博客:http://www.cnblogs.com/zibuyu/archive/2012/08/17/2644396.html  在其基础之上有所改进 题意可以给抽象成给出一个 ...

  5. SRM593(1-250pt,500pt)

    SRM 593 DIV1 250pt 题意:有如下图所示的平面,每个六边形有坐标.将其中一些六边形染色,要求有边相邻的两个六边形不能染同一种颜色.给定哪些六边形需要染色,问最少需要多少种颜色. 解法: ...

  6. 一个在字符串中查找多个关键字的函数strstrs(三种不同算法实现及效率分析)

    平时项目中有时需要用到在字符串中搜索两个或更多的关键字的情景.例如:将字符串"ab|cd#ef|"按竖线或者井号做分隔 如果是大项目,一般会采用正则表达式做处理.但有时写个小程序, ...

  7. linux关于readlink函数获取运行路径的小程序

    http://blog.csdn.net/djzhao/article/details/8178375   相关函数: stat, lstat, symlink表头文件: #include <u ...

  8. UIAlertController 的使用(NS_CLASS_AVAILABLE_IOS(8_0)iOS8以后有效)

    iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController 在实现视图控制器间的过渡动画效果和自适应设备尺 ...

  9. oracle11g 导入空表的办法

    ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间 这样会出现导入导出数据库的时候报错,提示空表没有被还原,缺少表的情况 解决方法: 设置deferred_segment ...

  10. Windows Live Writer Install Faied

    win7安装Windows Live Writer软件时失败,并且提示错误代码0x80190194的问题 Windows Live Writer是一个很好的博客写作工具,单机就可以使用了,还可以用于同 ...