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成功!");

时间: 2009-11-06

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的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页面之间传值的方式之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 页面传值常用方法总结

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

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

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

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

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

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页面传值测试实例代码(前后台)

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

纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)

实现效果演示: 实现代码及注释: <!DOCTYPE html> <html> <head> <title>楼层跳跃式的页面布局</title> <meta charset="utf-8"> <style type="text/css"> *{ margin: 0; padding: 0; } body, html{ height: 100%; } ul{ list-style: n

ReactNative页面跳转实例代码

效果图如下所示: 进入工作目录,运行 react-native init NavigatorProject 创建项目NavigatorProject import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, TouchableHighlight, Image, Navigator } from 'react-native'; class navigatorProject exte

AJAX实现简单的注册页面异步请求实例代码

AJAX简介 (1)AJAX = 异步 JavaScript 和 XML. (2)AJAX 是一种用于创建快速动态网页的技术. (3)通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. (4)传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面.  简单布局 JS先判断,把前端可以的判断做,减少服务器的交互 $('button').on('click',function(){; var boolu

使用Bootstrap框架制作查询页面的界面实例代码

以Bootstrap框架来进行设计和开发,是目前国际上比较流行的一个趋势.很多软件公司在优化新产品时,因为其在js和控件上的综合优势,会选用这个开发框架. Bootstrap框架是一个前端UI设计的框架,它提供了统一的UI界面,简化了设计界面UI的过程(缺点是定制了界面,调整的余地不是太大).尤其是现在的响应时布局(我的理解是页面根据不同的分辨率,采用不同的页面元素的布局),在Bootstrap中很好的支持了,只要简单设置了属性,就能自动实现响应时布局,大大简化了程序员的界面的过程. 因此,本人

Python爬虫实现爬取京东手机页面的图片(实例代码)

实例如下所示: __author__ = 'Fred Zhao' import requests from bs4 import BeautifulSoup import os from urllib.request import urlretrieve class Picture(): def __init__(self): self.headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleW

javascript原生封装一个淡入淡出效果的函数测试实例代码

说到js的渐变显示与消失,多数朋友会想到JQuery里面的fadeIn().fadeOut()或fadeToggle().但如果仅仅是为了引入这样的一个效果,而去调用了庞大JQuery库?或者说我通过用原生js实现一些函数来提高自己~ 所以,我简单的研究了一下纯js代码写淡入淡出的效果. 如果出现错误,请在评论中指出,我也好自己纠正自己的错误 (一)FadeIn淡入函数 淡入淡出的效果,其实就是一个setInterval(),加上循环的DOM操作,通过改变element对象节点的透明度,即可实现

vue 父组件给子组件传值子组件给父组件传值的实例代码

父组件如何给子组件传值 使用props 举个例子: 子组件:fromTest.vue,父组件 app.vue fromTest.vue <template> <h2>{{title}}</h2> //title必须是父组件传递的 </template> <script> export default (){ props:["title"] //可以是数组,也可以是对象 //如何对title进行校验 //props:{ // t

微信小程序判断页面是否从其他页面返回的实例代码

微信小程序判断页面是否从其他页面返回,具体内容如下所示: 在 data 中自定义一个标记变量,在onLoad里 Page({ data: { isNewOpen: true, //判断当前页面是新打开还是从其他页面返回 list: [], page: 0 }, onLoad: function() { this.getList() }, getList () { // ... }, goDetail (e) { this.setData({ isNewOpen: false }) wx.navi