ASP.NET 2.0中实现跨页面提交

在ASP.net 1.X 版本中,页面都是提交到自己本身,并不能方便的指定需要提交的目的页面。例如FirstPage.aspx中的button只能提交到FirstPage.aspx,而不能提交到SecondPage.aspx。很多时候,ASP.NET 1.X这样工作方式使我们的开发方式受到不少限制。熟悉ASP/JSP/PHP的朋友大概很不习惯,因为以前经常使用的提交方式突然无法使用,虽然也有解决这个问题的方法(欲详细了解的读者可去微软网站收看Webcast),可是过程太烦琐,不甚方便。令我们高兴的是,ASP.NET 2.0中有了跨页面提交的简单方法。

  简单的例子

  首先看看下面的代码,FirstPage.aspx中的Button通过指定PostBackUrl属性可以提交到指定的页面:

  FirstPage.aspx

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
<script runat="server">
public String UserName {
 get {
  return this.txtName.Text;
 }
}
protected void Button1_Click(object sender, EventArgs e)
{
 Label1.Text = "Postback from self. Your Name is: " + txtName.Text;
}
</script>

<html XMLns="http://www.w3.org/1999/xhtml" 
<head runat="server">
 <meta content="text/JScript" http-equiv="content-script-type" />
 <title>First Page</title>
</head>
<body>
 <form id="form1" runat="server">
 <div>
  <h3>The Frist Page</h3>
  Your Name:
  <asp:TextBox ID="txtName" runat="server" />
  <asp:Label ID="Label1" runat="server" EnableViewState="False" /><br />
  <br />
  <asp:Button ID="Button1" runat="server" Text="Postback to Same Page" OnClick="Button1_Click" /><br />
  <br />
  <asp:Button ID="Button2" runat="server" Text="Postback to Second Page" PostBackUrl="~/SecondPage.aspx" /><br />
 </div>
</form>
</body>
</html>

  SecondPage.aspx

<%@ Page Language="C#" %>
<%@ PreviousPageType VirtualPath="~/FirstPage.aspx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
 this.Label1.Text = "Your Name is : " + PreviousPage.UserName;
}
</script>

<html XMLns="http://www.w3.org/1999/xhtml" 
<head runat="server">
<title>Second Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>This is the Second Page</h1>
<p><asp:Label ID="Label1" runat="server"></asp:Label> </p>
</div>
</form>
</body>
</html>

  打开FirstPage.aspx,输入内容并按下"Postback to Second Page"按钮提交,页面就会提交到SecondPage.aspx,输入的内容也会显示在SecondPage.aspx上。注意 FirstPage.aspx中Button2新增的PostBackUrl属性,还有SecondPage.aspx中的 @PreviousPageType指令。这些新增的内容,正是ASP.NET 2.0 中的跨页提交的方案的组成部分。

  大家可能会发现,在使用ASP.NET 2.0 的跨页面提交功能的时候,目标页面都是在源页面的窗口中打开的。但有时候我们需要在新的窗口中打开目标页面,通过修改源页面中<form>的属性可以实现这一点。如下面的代码所示:

<form id="MainForm" Target="_blank" runat="server">

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值