当前位置: 首页 > 编程日记 > 正文

【C#】Web页面传值小结-

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 = (a)Context.Handler;
 string name;
 name = newWeb.Name;
}

1.使用QeriyString传值
源页面代码:
string Url = "default.asp?sStrName=canshu&ID=UserID"
目标页面代码:
Lable1.Text=Request.QueryString["sStrName"];
Lable2.Text=Request.QueryString["ID"];   
同时传值两个参数分别是sStrName和ID,值是canshu和UserID.

2.用session页面传值
源页面代码:
session["stringName"]=TextBox1.Text
Server.Transfer("welcomePage.aspx");
接收页面代码:
Lable1.Text=session["stringName"].Tostring();
session.Remove("stringName");//移除session变量,减少服务器开销

3.使用Server.Transfer
public string Name
...{
    get
    ...{
        return TextBox1.Text;
    }
}

public string EMail
...{
    get
    ...{
        return TextBox2.Text;
    }
}
传值页面代码:
Server.Transfer("WelcomePage.aspx");
目标页面代码:
private void Page_Load (object sender, System.EventArgs e)
...{
    WebFormName wf1;  //WebForm1为源页面的名字
    //我们就可以使用Context.Handler属性来获得前一个页面实例对象
    wf1=(WebFormName)Context.Handler;//get reference to current handler instance

Label1.Text=wf1.Name;
    Label2.Text=wf1.EMail;
}
一般比较提倡用session安全性高,如果页面需要传的变量很多的话可以用hashtable或者数组

保存数值然后存到session当中。
4.使用Cookie对象变量
Cookie的用法和Session的用法差不多,但是Cookie是存放在客户端的,而Session是存放再服

务器上的,适用Cookie时要用到Request内置对象。
源页面代码:
private void Button1_Click(object sender,System.EventArgs e)
...{
    实例化一个Cookie对象
    HttpCookie cookie_name = new HttpCookie("name");
    cookie_name.Value = Label1.Text;
    Reponse.AppendCookie(cookie_name);
    Server.Transfer("WelcomePage.aspx");
}
目标页面代码:
private void Page_Load (object sender, EventArgs e)
...{
     string name;
     name = Request.Cookie["name"].Value.ToString();//得到Cookie值
}
5.全局变量
源页面代码:
Application["sum"]=this.TextBox1.Text;
Server,Transfer("WelcomePage.aspx");
目标页面代码:
this.Lable1.Text=(string)Application["sum"];
Application实质上是整个虚拟目录中所有文件的集合,如果想在整个应用范围内使用某个变量

值,Application对象将是最佳的选择。

6、其他方式   
在接收页 的html代码里加上一行:
<%@ Reference Page = "WebForm1.aspx" %>
WebForm1 fp=(WebForm1)Context.Handler;
this.TextBox1.Text=fp.name; //name 是第一页的public变量

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fly_thinking/archive/2007/11/27/1904079.aspx

转载于:https://www.cnblogs.com/cuishao1985/archive/2009/06/26/1511769.html

相关文章:

分享:用promise封装ajax

用promise封装ajaxvar ajaxOptions {url: url,method: GET,async: true,data: null,dataType: text, } function ajax(protoOptions) {var options {};for(var i in ajaxOptions){options[i] protoOptions[i] || ajaxOptions[i];}return new Promise(function(resolve, reje…

1049 Counting Ones

1. 这一题起初我用递归的方式&#xff0c;还写了一个数整数有多少个1的函数&#xff0c;OneNum[i] OneNum[i-1]countOne(i);毫不意外地出现了段错误&#xff0c;也就是递归调用的次数太多。 2. 看了参考书&#xff0c;得到了思路上的启发&#xff1a; 给定一个数12&#xff…

Oracle:递归查询(树形结构数据)

今天要做一个查询功能&#xff1a;查询某用户所属部门&#xff0c;且包含该部门的所有上级部门信息。偶然找到了一个方法&#xff0c;特意来做个笔记。分享给和我一样的菜鸟&#xff0c;哈哈 查询子节点 1 select * 2 from d_arc_dep 3 start with depid 100000 4 connect b…

FIN_WAIT_2

来自转载&#xff1a;http://blog.sina.com.cn/s/blog_8e5d24890102w9yi.html 上图对排除和定位网络或系统故障时大有帮助&#xff0c;但是怎样牢牢地将这张图刻在脑中呢&#xff1f;那么你就一定要对这张图的每一个状态&#xff0c;及转换的过程有深刻地认识&#xff0c;不能只…

网页制作知识:XHTML 和 DOCTYPE 切换

为 Web页指定 DOCTYPE 会影响浏览器呈现页的方式。Internet Explorer、Mozilla Firefox 和 Opera 全都支持一种名为“DOCTYPE 切换”&#xff08;也叫“DOCTYPE 嗅探”&#xff09;的功能。 引入 DOCTYPE 切换的目的是使浏览器能够正确地呈现符合标准的 Web 站点以及旧式 Web 站…

1003 我要通过!

1. 总体思路是自己先写写&#xff0c;看看哪些字符串符合&#xff0c;找出规律&#xff0c;然后根据测试用例来矫正。 2. 用到了递推的方法&#xff0c;我使用countA[maxn]数组存放截至当前位置一共出现的A的个数。 3. 正确的字符串满足的条件是&#xff1a;P之前A的个数P和T…

微信电视来了 微信遥控传屏弹幕统统有

据证券时报消息&#xff0c;腾讯携手康佳推微信电视&#xff0c;具有微信传屏、微信弹幕、微信遥控等基于腾讯微信平台的电视功能。想了吧&#xff1f;别急&#xff0c;11月5日&#xff0c;微信互联电视将在康佳全国终端门店全部上线。微信电视2.0版将新增语音搜索、节目单分享…

机器学习-线性回归LinearRegression

概述 今天要说一下机器学习中大多数书籍第一个讲的&#xff08;有的可能是KNN&#xff09;模型-线性回归。说起线性回归&#xff0c;首先要介绍一下机器学习中的两个常见的问题&#xff1a;回归任务和分类任务。那什么是回归任务和分类任务呢&#xff1f;简单的来说&#xff0c…

使用Windows的SHFileOperation外壳函数实现文件操作

在Windows的shellapi文件中定义了一个名为SHFileOperation&#xff08;&#xff09;的外壳函数&#xff0c;用它可以实现各种文件操作&#xff0c;如文件的拷贝、删除、移动等&#xff0c;该函数使用起来非常简单&#xff0c;它只有一个指向SHFILEOPSTRUCT结构的参数。使用SHFi…

(C++)寻找1-100以内所有素数,复杂度为O(nsqrt(n))与O(nloglogn)的两种方法

注意&#xff1a;1既不是质数也不是合数&#xff0c;2是质数。 1. 复杂度为O(nsqrt(n)) 原理&#xff1a;先写一个判断整数是否为素数的函数&#xff0c;其复杂度为sqrt(n)&#xff0c;其原理是对于一个数n&#xff0c;如果它有除了1和自身之外的因子&#xff0c;那么这个因子…

这样就算会了PHP么?-10

关于基本的文件读写内容&#xff1a; <?phpecho "readfile function:<br>";readfile("tm.txt");echo "<br>";echo "file function:<br>";$f_arr file("tm.txt");foreach ($f_arr as $cont) {echo $c…

个人项目-小学四则运算 “软件”之初版

本次作业要求来自&#xff1a;https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2166 我的github远程仓库的地址&#xff1a;https://github.com/yanyuluu/yanyuluu/tree/master/ruanjiangc 第一部分&#xff1a;要求 具体要求&#xff1a;任何编程语言都可以&#xf…

如何清晰地思考

如何清晰地思考&#xff08;近一年来业余阅读的关于思维方面的知识结构整理&#xff09; Tags: 思维改变生活save it16 saved tags: thinking mind 思考 一年前一个偶然的机会我遇到了一本书——《影响力》&#xff0c;看完这本书之后对我们如何思维产生了极大的兴趣&…

1015 Reversible Primes

1. 这道题因为一上来看到又是进制的转换又是素数的判断&#xff0c;想到自己十进制转化成Q进制的除基取余掌握得并不好&#xff0c;就很紧张&#xff0c;以为要封装一堆函数&#xff0c;然后我也确实这么做了&#xff0c;经过一堆调试(字符和数字之间转化容易忘记)&#xff0c;…

跨平台表空间传输(摘自eygle《循序渐进Oracle》)

需要注意的是&#xff0c;在Oracle 10g之前&#xff0c;数据文件是不能够跨平台传输使用的&#xff0c;从Oracle 10g开始&#xff0c;Oracle支持跨平台的表空间传输&#xff0c;这极大地增强了数据迁移的便利性。 1. 字节顺序和平台 数据文件所以不能跨平台&#xff0c;主要是…

EditPlus集成Java编译和运行命令组建轻量级Java SE开发工具

http://www.gogogogo.me/development/EditPlus-Java.html转载于:https://www.cnblogs.com/svennee/p/4071712.html

单例测试模式中【饿汉式】与【懒汉式】的区别

package day25.thread;/** /*** author Mr Chen* create 2018-10-09 18:37* 单例测试模式&#xff1a;保证类在内存中只有一个对象*/ public class Dome01 {public static void main(String[] args){Singleton s1 Singleton.s; //成员变量被私有&#xf…

1078 Hashing

关键在于这句&#xff1a;Quadratic probing (with positive increments only) is used to solve the collisions.开始不懂二次探测&#xff0c;因此做不出来。所谓二次探测就是如果num%mSize被占坑了&#xff0c;就看看(num1*1)%mSize有没有被占&#xff0c;还是被占&#xff…

C# 多线程 参数传递

class ThreadDemo { private Thread[] threads; private int thrs 10;//线程数量 private ArrayList stringList; private event EventHandler OnNumberClear;//数据删除完引发的事件 public ThreadDemo(int number) …

Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用

一、 在res/values 文件下定义一个attrs.xml 文件.代码如下: <?xml version"1.0" encoding"utf-8"?> <resources> <declare-styleable name"MyView"> <attr name"textColor" format"color…

排序学习之---快速排序

一、前言 快速排序是一种交换排序&#xff0c;它由C. A. R. Hoare在1962年提出。 二、算法思想 快速排序的基本思想是&#xff1a;通过一趟排序将要排序的数据分割成独立的两部分&#xff1a;分割点左边都是比它小的数&#xff0c;右边都是比它大的数。 然后再按此方法对这两部…

1059 Prime Factors

1. 第一次测试点三错误&#xff0c;由于1既不是质数也不是合数&#xff0c;因此对于1来说需要有一个特殊判断&#xff0c;输出&#xff1a;11&#xff0c;但是一开始多加了一个等号。 2. 本题需要数学基础好&#xff0c;两个重点&#xff1a; (1)会打印某个范围内的素数表 (…

适用于SQL Server生产环境DBA的七大技巧

摘自&#xff1a;http://database.ctocio.com.cn/452/8976452.shtml1、使用forfiles命令删除陈旧的数据库备份文件 从Windows Server 2003开始forfiles命令就是Windows的一个自带命令行工具&#xff0c;它主要用于对文件的批处理&#xff0c; 利用SQL Server代理作业&#xff0…

关于PCA算法的一点学习总结

本文出处&#xff1a;http://blog.csdn.net/xizhibei PCA&#xff0c;也就是PrincipalComponents Analysis&#xff0c;主成份分析&#xff0c;是个非常优秀的算法&#xff0c;依照书上的说法&#xff1a; 寻找最小均方意义下&#xff0c;最能代表原始数据的投影方法 然后自己…

1096 Consecutive Factors

1. 对于题目描述中 list the smallest sequence of the consecutive factors 正确理解是&#xff1a;如果有多组连续因子&#xff0c;输出开头因子最小的那个序列(一开始理解成输出数目最小的那个序列) 2. 想象一下这种情况&#xff0c;2*3*4*5 120&#xff0c;4*5*6 120&am…

百度DisConf分布式配置框架源码试读(一)HttpClient 长连接

Spring Cloud Config配置中心我在学习Spring Cloud Config配置中心时理解了它体系下的配置中心的强大。实现了配置的远程管理、微服务的配置更新。Spring Cloud Config配置中心体系还是有其不足的地方。虽然它实现了配置和服务的分离。但是做不到实时的更新。需要手动触发POST …

开篇第一题:经典中的经典!

开篇第一题&#xff1a;经典中的经典&#xff01;——评《编程之美》原贴地址&#xff1a;http://www.douban.com/review/2130819/ 应该是差不多两个月前收到了这本书&#xff0c;一直到最近才抽出时间来看了下&#xff0c;这本书的开篇的第一题现在基本已经成了经典中的经典了…

(C++)高精度整数的存储、读入、比较和四则运算

目录 1. 存储 2. 读入 3. 比较大小 4. 加法 5. 减法 6. 高精度整数和低精度整数的乘法 7. 高精度整数除以低精度整数 高精度整数&#xff0c;又称大整数&#xff0c;其含义就是用基本数据类型无法存储其精度的整数。如&#xff1a;10进制下有着1000个数位的整数。 低精…

TP-link 设置MAC地址过滤

如果你想限制上网的人数&#xff0c;你可以在路由中设置MAC地址过滤&#xff0c;或IP地址过滤 以下以MAC地址过滤为例&#xff1a; http://192.168.1.1/ 输入用户名&#xff0c;密码登录 进入介面&#xff1a; “开启防火墙&#xff08;防火墙的总开关&#xff09;” 也要打上…

flask的客户端服务端

1.首先要进行后端与前端的连接有get 和post请求 get请求是直接在网页上打出已将定义好的网址 if __name__ __main__: app.run(host"localhost",port8800)host也可以写ip地址2.在进行交互前需要提前引入 flask 模块 pip3 install Flask详细代码 1 import json2 #…