IIS 5.0Visual Studio .NET 2002.NET 1.0IISVisual Studio .NET 2003.NET 1.1中级开发Visual StudioWindows.NETASP.NETC#
在页面之间传递信息 - .NET 方法
本文演示了如何在页面之间传递数据。
引言
对于那些刚接触 ASP.NET 的 ASP 开发人员
我不会详细介绍 Response.Redirect
或 Session 变量,因为它们与经典的 ASP 相同。本文面向那些在 ASP 中使用 Form
的 POST 方法,从一个页面传递表单变量到另一个页面的开发人员。令人惊讶的是,在 ASP.NET 中,我们不能通过发布或提交表单使用提交按钮,从一个页面传递表单变量到另一个页面。我一开始感到有点困惑。但很快我发现了一种新的传递表单变量的方法。(谁还想要旧的表单提交方式呢?)
操作方法
这是一种有点复杂但优雅的方法,可以在页面之间传递值。在这里,我们将要在其他页面中访问的值作为 Page
类的属性公开。在这里,我们编写额外的属性,以便在另一个 Web 表单中访问它们。但是,这些努力是值得考虑的。这种方法比以前的方法更面向对象。整个过程如下:
- 创建带有承载值的控件的 Web 表单。
- 创建带有
Get
过程的属性,以返回控件中的值。 - 提供一个将表单发布到另一个 WebForm 的按钮。
- 在按钮单击事件处理程序中,调用
Server.Transfer
方法,该方法会将执行转移到指定的 WebForm。 - 在第二个表单中,您可以使用
ontext.Handler
属性获取对第一个表单实例的引用,并将其转换为源 WebForm 类。
然后,您将使用我们创建的 Get
属性来访问控件值。
创建一个 WebForm,如下所示
编写属性以访问源 Page
类中控件中的值
public string Name
{
get{return txtName.Text;}
}
public string Email
{
get{return txtEmail.Text;}
}
public string Phone
{
get{return txtPhone.Text;}
}
在按钮单击事件上,编写代码
private void btnSubmit_Click(object sender, System.EventArgs e)
{
Server.Transfer("destination.aspx");
}
在目标 Page
的 Page_Load
上,编写以下代码以访问公共属性
SourcePage pgSource;
pgSource= (SourcePage) Context.Handler;
Response.Write(pgSource.Name + "<br>");
Response.Write(pgSource.Email + "<br>");
Response.Write(pgSource.Phone + "<br>");
历史
- 版本 1.0
感谢 Alvin George 先生为我编写这段小程序,因为我时间不足。