C# 页面之间传值传参的6种方法

一.QueryString传值

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

a.aspx中的代码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中的代码
private void Page_Load(object sender, EventArgs e)
{
Label2.Text = Request.QueryString["name"];
} 

query传值又分类 post,get  例如

//post请求
string name =Request["name"].ToString();
string name=Request.From.Get("name").ToString();

//get请求
string name = Request.QueryString["name"].ToString();

无论它是post还是get传值都可以用如下

string name = Request["name"].ToString();

表单提交中getpost方式的区别归纳如下几点:

1.get是从服务器上获取数据,post是向服务器传送数据。

2.get是把参数数据队列加到提交表单中的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URl中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这和过程。

3.对于get方式,服务器端用Request.QuertString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

4.get传送的数据量较小,不能大于2KB。post传送的数据较大,一般被默认为不受限制。但理论上IIS4中最大为80KB,IIS5中为100KB。

5.get安全性非常低,post安全性较高。

二.使用Application 对象变量:

  Application对象的作用范围是整个全局,也就是说对所有用户都有效。此种方法不常使用,因为Application在一个应用程序范围共享,所有用户可以改变及设置其值,故只应计数器等需要全局变量的地方。其常用的方法用Lock和UnLock。

private void Button1_Click(object sender, System.EventArgs e)
{
     Application["name"] = Label1.Text;
     Server.Transfer("b.aspx");
}

b.aspx中的代码

private void Page_Load(object sender, EventArgs e)
{
     string name;
     Application.Lock();
     name = Application["name"].ToString();
     Application.UnLock();
}

三.使用Session变量

  Session其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。

  

时间: 2024-10-18 17:13:29

C# 页面之间传值传参的6种方法的相关文章

页面之间值传递常用的几种方式

1.QuerySting在页面间传递值 这种方法的写法:在要传递值的页面,Response.Redirect(url),值包含在在url中.接收值得页面,Request.QueryString["变量名"]. 这是使用起来很简单的一种方式,但是它不是很安全,因为值会在浏览器里的地址栏里显示.并且它也不能传递对象,对长度也有限制,如果要传递的值很多,且对安全要求也高的话,这种方式就不适合了. 2.Session变量 我们通常在一个页面中,将值放到session变量中,在另外几个页面使用它

php如何向js函数传参的几种方法

在php编程中向js函数传参可以使用$_POST也可使用$_SESSION[' '],也可用echo语句进行输出 <?php echo "<script>test('$_POST[userid]');</script> ";?>在上面的$_POST['']也可适用$_SESSION[' '];<?php $para = "hello boby!"; echo $para; // www.jbxue.comecho "

HTML 页面加载 Flash 插件的几种方法

前言 之所以写这篇文章,主要是因为组长给提的一个新的需求--使用浏览器调用电脑的摄像头,来实现即时拍照的功能.在网上查了很多资料,由于这样那样的原因,最终选择了使用flash插件来调用pc的摄像头.当然,这个需求是基于B/S架构的,因此,就在想怎么把它嵌入到前端的HTML页面中. 题外话 当然,这里还没有考虑到封装,主要是先以实现为目的,后续工作再根据业务进行抽象,封装成通用的组件.好了,废话不多说,看重点. 嵌入插件 使用 object 和 embed 标签 代码展示 <span style=

Html5 页面中 JavaScript 启动调用的三种方法比较

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 首先,来看一下 Html5 页面引用 JavaScript 代码的几种方式: 1.Html5 页面中使用 <script>  标签容纳

页面中插入CSS样式的三种方法

页面中插入css样式的三种方法总结 1. 外部样式 当样式需要应用于很多页面时,外部样式表将是理想的选择.在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观.每个页面使用<link>标签链接到样式表. <link>标签在(文档的)头部: <head> <link rel="stylesheet" type="text/css" href="path/myCss.css"/> <

纯html页面之间传参

//页面引入//传参方法,可解析url参数 (function($){ $.getUrlParam = function(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r!=null) return unescape(r[2]); return null

页面之间传值方式的总结,五种方式,通知,block,代理,单例,NSUERDEFALUT,

首先代码拿上 1:单例 2:通知 3:代理 4:block方法 5:NSUSERDEFAULT(沙盒文件) 先是单例类: .h文件 @interface DataSource : NSObject @property (nonatomic, strong) NSString *myName;//单例的属性,用于传值 +(DataSource*)sharedDataSource;//建立单例对象 @end .m文件 #import "DataSource.h" @implementati

div随页面滚动遇顶固定的两种方法(js&amp;jQuery)

一.遇顶固定的例子 我一直以为是某个div或层随屏幕滚动,遇顶则固定,离开浏览器顶部又还原这样的例子其实不少,其实它的名字叫"层的智能浮动效果".目前我们在国内的商业网站上就常常看到这样的效果了.例如淘宝网的搜索结果页的排序水平条,在默认状态时,该工具条是跟随页面滚动的,如下图: 而当我们下拉滚动条,随着页面向下滚动,当此工具条接触到浏览器的上边缘时,这时就会独立出来固定在顶部,不跟随页面滚动而滚动了,如下图: 类似的例子效果我们在别的网站上都有看到过,例如腾讯微博首页上,当我们下拉屏

静态化页面点击数实时的呈现的两种方法

静态化页面有时需要某一块“活起来”...在做新闻类项目时会碰到点击量排行,需要实时的进行显示, 以下是实现的两种方法: 第一种方法:通过AJAX实现:将数据提交给PHP文件经行处理,并将处理后的结果返回: $(function(){ $.ajax({ url:'{$smarty.const.BASE_URL}news/clickNews.php', data:'id={$arr.id}', success:function(re){ $("#showNewsTop").html(re)