在ASP.NET中有几种基于页面间的传值方法:常见的有QueryString.这种方法最简单不过了,但缺点就是它把要传送的值显示在地址栏中,如果对于在安全性的信息来说这并不是一种好的解决方案。还有一个缺点就是它不能传对象。这种方法适合于传送一个简单的值及安全性不大重要的信息。例:
有两个页面:WebForm1.aspx,WebForm2.aspx。 在WebForm1.aspx.cs的某些事件中放置如下代码: string url="WebForm2.aspx?name="+this.txtname.Text; Response.Redirect(url); 接着关键时刻出现了:在WebForm2.aspx.cs中某些事件中放置如下代码: lblname.Text=Request.QueryString["name"]; OK! 整个传值过程完成! 还有一种是利用Session变量来传值,这种也比较常用。利用Session比较灵活,可以 第三种方式是利用Request对象来取值,(注:这里使用的是html控件)这种比较简洁。实现如下: 在WebForm1.aspx中: Name: 在WebForm2.aspx.cs中某个事件写入:Response.Write(Request.Form["txtname"]); 当点击submit按钮后,即通过Request.Form[”txtname”]取出了值, 第四种方法是利用Server对象的Transfer()方法来传值,它接收一个页面对象。 下面用代码来讲解一下这种实现方式: 在WebForm1.aspx 的某个事件中写入如下代码:Server.Transfer("WebForm2.aspx"); //传递页面对象 ");?? (注:以上几种方法,除了Request.Form()这种传值方法使用的是HTML控件外,其它几种都是使用WEB控件) |
|