0 Comments

使用Request对象

发布于:2012-11-23  |   作者:广州网站建设  |   已聚集:人围观
页面间的数据传递的方法

对于多步骤的 Web 窗体来说,需要从前一步骤传递内容至下一个步骤,ASP.NET 3.5可以使用多种方法在网页间传递Web 窗体内容。广州网站设计

7.2.1  使用Request对象

ASP 网页间数据传递除了使用窗体外,还可以使用Request对象来传递数据。当页面中的表单以POST方法提交数据时,可以用Request.Form集合获取提交的数据。当用户以FileName.aspx?ParamName=ParamValue形式传递数据,或表单以GET方法提交数据,可以使用Request.QueryString集合获取数据。 使用 QueryString 集合对象获取传递值,其优点是简单,但问题是浏览程序网址栏会显示传递值。

下面举例说明使用Request对象实现页面间的数据传递的方法。广州网站设计

【例7-3】演示如何直接在页面名称后附带参数传递数据。下面将建立包含两个步骤的 Web 窗体,在输入用户名称和密码后,单击【提交】按钮在第2页 ASP.NET 程序中显示用户数据。

(1) 新建一个Web站点Ex7_3。

(2) 在【解决方案资源管理器】中,添加一个Web窗体页Second.aspx。

(3) 在Default.aspx中,切换到【设计】视图,向其中添加2个Label控件并设置其Text属性值;添加2个TextBox控件;添加一个Button控件并设置其Text属性值。如图7-4所示。

(4) 双击Button控件,在Default.aspx.cs源程序窗体中添加如下代码:

广州网站建设
  1.      protected void Button1_Click(object sender, EventArgs e)  
  2.       {  
  3.         string url=string.Format("Second.aspx?username= {0}&password={1}",  
  4.             Server.UrlEncode(TextBox1.Text),  
  5. Server.UrlDecode(TextBox2.Text));  
  6.         Response.Redirect(url);  
  7.         //Server.Transfer(url);  
  8.   } 

(5) 在Second.aspx中,切换到【设计】视图,向其中添加2个Label控件。在【解决方案资源管理器】双击Second.aspx.cs,在源程序窗体中添加如下代码:


  1.     protected void Page_Load(object sender, EventArgs e)  
  2.     {  
  3.         Label1.Text = "用户名称:" +  
  4. Server.UrlDecode(Request.QueryString["username"]);  
  5.         Label2.Text = "用户密码:" +  
  6. Server.UrlDecode(Request.QueryString["password"]);  
(6) 切换到Default.aspx中,按Ctrl+F5键在浏览器中打开页面,可以看到运行结果如图7-4所示。在输入用户名称和密码后,单击【提交】按钮,可以显示窗体输入的用户数据,运行结果如图7-5所示。广州网站建设
飞机