一、使用Querystring 
Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象。如果你想传递一个安全性不是那么太重要或者是一个简单的数值时,用此方法最好不过了。下面通过一个小例子来完成传值工作,步骤如下: 
1、创建一个web form 
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2 
3、为button按钮创建click事件 
代码如下: 
private void Button1_Click  
(object sender, System.EventArgs e)  
{  
 string url;  
 url="webform2.aspx?name=" +  
  TextBox1.Text + "&email=" +  
  TextBox2.Text;  
 Response.Redirect(url);  
}  
4、新建一个目标页面命名为webform2  
5、在webform2中放置两个Label1,Label2  
在webform2的Page_Load中添加如下代码:  
private void Page_Load  
(object sender, System.EventArgs e)  
{  
 Label1.Text=Request.QueryString["name"];  
 Label2.Text=Request.QueryString["email"];  
}  
运行,即可看到传递后的结果了。  
 
二、使用Session变量  
使用Session变量传值是一种最常见的方式了,此中方式不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把Session变量的值removed后,变量才会消失。举个例子看看:  
1、创建一个web form  
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2  
3、为button按钮创建click事件  
代码如下:

引用内容:
  
private void Button1_Click  
(object sender, System.EventArgs e)  
{  
        Session["name"]=TextBox1.Text;  
 Session["email"]=TextBox2.Text;  
 Response.Redirect("webform2.aspx");  
}  
4、新建一个目标页面命名为webform2  
5、在webform2中放置两个Label1,Label2  
在webform2的Page_Load中添加如下代码:  
private void Page_Load  
(object sender, System.EventArgs e)  
{  
 Label1.Text=Session["name"].ToString();  
 Label2.Text=Session["email"].ToString();  
 Session.Remove("name");  
 Session.Remove("email");  
}

运行,即可看到传递后的结果了。  
 
三、使用Server.Transfer  
虽然这种方法有点复杂,但也不失为一种在页面传值的方式。  
举个例子看看:  
1、创建一个web form  
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2  
3、为button按钮创建click事件  
代码如下:

引用内容:
 
private void Button1_Click  
(object sender, System.EventArgs e)  
{  
 Server.Transfer("webform2.aspx");  
}  
4、创建过程来返回TextBox1,TextBox2控件的值代码如下:  
public string Name  
{  
 get  
 {  
  return TextBox1.Text;  
 }  
}  
public string EMail  
{  
 get  
 {  
  return TextBox2.Text;  
 }  
}

5、新建一个目标页面命名为webform2  
6、在webform2中放置两个Label1,Label2  
在webform2的Page_Load中添加如下代码:  
private void Page_Load  
(object sender, System.EventArgs e)  
{ //创建原始窗体的实例  
 WebForm1 wf1;  
 //获得实例化的句柄  
 wf1=(WebForm1)Context.Handler;  
 Label1.Text=wf1.Name;  
 Label2.Text=wf1.EMail;}

浅谈Asp.Net中的几种传值方式的更多相关文章

  1. Asp.Net中的三种分页方式

    Asp.Net中的三种分页方式 通常分页有3种方法,分别是asp.net自带的数据显示空间如GridView等自带的分页,第三方分页控件如aspnetpager,存储过程分页等. 第一种:使用Grid ...

  2. 浅谈SQL Server中的三种物理连接操作

    简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...

  3. 浅谈SQL Server中的三种物理连接操作(HASH JOIN MERGE JOIN NESTED LOOP)

    简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...

  4. 浅谈SQL Server中的三种物理连接操作(Nested Loop Join、Merge Join、Hash Join)

    简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...

  5. iOS 浅谈MVC设计模式及Controllers之间的传值方式

    1.简述你对MVC的理解? MVC是一种架构设计.它考虑了三种对象:Model(模型对象).View(试图对象).Controller(试图控制器) (1)模型:负责存储.定义.操作数据 (2)视图: ...

  6. 浅谈ASP.net中的DataSet对象

    在我们对数据库进行操作的时候,总是先把数据从数据库取出来,然后放到一个"容器"中,再通过这个"容器"取出数据显示在前台,而充当这种容器的角色中当属DataSet ...

  7. 浅谈[^>]在正则中的2种用法

    /^A/会匹配"An e"中的A,但是不会匹配"ab A"中的A,此时^A的意思是“匹配开头的A” /[^a-z\s]/会匹配"my 3 sister ...

  8. Asp.Net中的三种分页方式总结

    本人ASP.net初学,网上找了一些分页的资料,看到这篇文章,没看到作者在名字,我转了你的文章,只为我可以用的时候方便查看,2010的文章了,不知道这技术是否过期. 以下才是正文 通常分页有3种方法, ...

  9. 浅谈Entity Framework中的数据加载方式

    如果你还没有接触过或者根本不了解什么是Entity Framework,那么请看这里http://www.entityframeworktutorial.net/EntityFramework-Arc ...

随机推荐

  1. Linux : Ubuntu 安装 RabbitMQ

    安装 Erlang: 手动编译(不推荐)http://www.erlang.org/downloads下载源码 如22版本:http://erlang.org/download/otp_src_22. ...

  2. 【CF285E】Positions in Permutations(动态规划,容斥)

    [CF285E]Positions in Permutations(动态规划,容斥) 题面 CF 洛谷 题解 首先发现恰好很不好算,所以转成至少,这样子只需要确定完一部分数之后剩下随意补. 然后套一个 ...

  3. thinkphp3.2.3集成phpexcel1.8导出设置单元格合并

    1 到这里下载classes里面的文件 https://github.com/PHPOffice/PHPExcel 2 然后放到 thinkphp的vendor 新建一个文件夹 Phpexcel  然 ...

  4. 安全漏洞系列(一)---XSS漏洞解决方案(C# MVC)

    参考地址:https://www.cnblogs.com/sagecheng/p/9462239.html 测试项目:MVCDemo 一.XSS漏洞定义 XSS攻击全称跨站脚本攻击,它允许恶意web用 ...

  5. Laravel API跨域访问的实现步骤

    本篇文章给大家带来的内容是关于Laravel API跨域访问的实现步骤,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 服务器A请求服务器B的接口,那么一般会出现跨域问题. 1 XML ...

  6. Linux下Mysql5.7忘记密码

    一.问题 linux下的mysql5.7忘记密码 二.解决 第一步:打开mysql5.7的配置文件my.cnf,并在里面增加一行:skip-grant-tables   保存并退出(:wq) [roo ...

  7. vi/vim的快捷操作(2)

    1.拷贝当前行[yy],拷贝当前行向下的5行[5yy],并粘贴[p] 2.删除当前行[dd],删除当前行向下的5行[5dd] 3.在文件中查找某个单词,命令行模式下输入[/关键字],回车查找,输入[n ...

  8. Cocos Creator 返回字符串长度(字符),汉字计数为2

    function strLength(str) { var a = 0; for (var i = 0; i < str.length; i++) { if (str.charCodeAt(i) ...

  9. android studio学习---怎么创建一个新的module并且再次运行起来(在当前的project里面)

    选择File->new module出现的界面,选择android application选择下一步,就出现了和刚刚一样的流程了,一步步创建完成即可. 我们看到多了个secondAndroid的 ...

  10. Python的变量命名规则

    1.只能用大小写字母与“_”(下划线) 2.数字不能用在开头,如:12tea 3.不能使用空格 4.C语言的变量命名规则如上相同