### 页面跳转并传递参数

Response 对象的 Redirect 方法可以实现页面重定向的功能，并且在重定向到新的 URL 时可以传递参数。

例如：将页面重定向到 welcome.aspx 页的代码如下：

Response. Redirect ("~/welcome.aspx");

在页面重定向 URL 时传递参数，使用“？”分隔页面的链接地址和参数，多个参数时，参数与参数之间使用“&”分隔。

例如：将页面重定向到 welcome.aspx 页时并传递参数的代码如下：

Response.Redirect("~/welcome.aspx?parameter=one ");

Response.Redirect("~/welcome.aspx?parameter1=one&parameter2=other");

下面示例主要通过 Response 对象的 Redirect 方法实现页面跳转并传递参数。执行程序，在 TextBox 文本中输入姓名并选择性别，单击【确定】按钮，跳转到“welcome.aspx”页，示例运行结果如图 1、2 所示。

图 1 页面跳转传递参数

图 2 重定向的新页

程序实现的主要步骤：

（1）新建一个网站，默认主页为 Default.aspx，在 Default.aspx 页面上添加一 1 个 TextBox 控件、一个 Button 控件、两个 RadioButton 控件，它们的属性设置如表 1 所示。

表 1 Default.aspx 页面中控件属性设置及其用途

控件类型 | 控件名称 | 主要属性设置 | 用途
标准/TextBox 控件 | txtName |  | 输入姓名
标准/Button 控件 | btnOK | Text 属性设置为“确定” | 执行页面跳转并传递参数的功能
标准/RadioButton 控件 | rbtnSex1 | Text 属性设置为“男” | 显示“男”文本
Checked 属性设置为 True | 显示为选中状态
rbtnSex2 | Text 属性设置为“女” | 显示“女”文本

在【确定】按钮的 btnOK_Click 事件中实现跳转到页面 welcome.aspx 页面并传递参数 Name 和 Sex。代码如下：

protected void btnOK_Click(object sender, EventArgs e)

{

string name=this.txtName.Text;

string sex="先生";

if(rbtnSex2 .Checked)

sex="女士";

Response.Redirect("~/welcome.aspx?Name="+name+"&Sex="+sex);

}

（2）在该网站中，添加一个新页，将其命名为 welcome.aspx。在页面 welcome.aspx 的初始化事件中获取 Response 对象传递过来的参数，并将其输出在页面上。代码如下：

protected void Page_Load(object sender, EventArgs e)

{

string name = Request.Params["Name"];

string sex = Request.Params["Sex"];

Response.Write("欢迎"+name+sex+"!");

}