在ASP.NET中,与经典的ASP不同,不能通过提交按钮来使用POST方法传递表单变量。这可能会让习惯于ASP的开发者感到困惑。但是,ASP.NET提供了一种新的、面向对象的方法来传递表单变量。本文将介绍这种方法的实现步骤和代码示例。
这种方法虽然复杂,但更为优雅。通过将需要在其他页面访问的值作为Page类的属性公开,从而实现跨页面传递。以下是实现这一过程的步骤:
以下是创建WebForm的示例代码:
public class SourcePage : System.Web.UI.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_Load事件中,编写以下代码来访问公共属性:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SourcePage pgSource;
pgSource = (SourcePage)Context.Handler;
Response.Write(pgSource.Name + "");
Response.Write(pgSource.Email + "");
Response.Write(pgSource.Phone + "");
}
}