ใน ASP.NET 1.x เพื่อนหลายคนอาจจำเป็นต้องดำเนินการประมวลผลการส่งข้ามเพจ กล่าวคือ พวกเขาสามารถส่งจากเพจ A ไปยังเพจ B ได้ แม้แต่การควบคุมที่แตกต่างกันก็มีเพจการประมวลผลเป้าหมายที่แตกต่างกัน โดยเฉพาะนักพัฒนาที่ถ่ายโอนจาก ASP/JSP/PHP อาจมีความต้องการนี้ แต่น่าเสียดายที่ใน ASP.NET 1.x การจัดการคำขอข้ามเพจดังกล่าวนั้นน่าเกลียดมากและต้องใช้ "ทักษะ" จำนวนมาก
ใน ASP.NET 2.0 มีวิธีแก้ไขปัญหาที่เหมาะสมมากสำหรับการส่งข้ามเพจแล้ว ต่อไปนี้เป็นตัวอย่าง
SourcePage.aspx: โปรดใส่ใจกับการตั้งค่าแอตทริบิวต์ PostBackUrl ของ Button1
<%...@ 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">...
สตริงสาธารณะ YourName
-
รับ
-
กลับสิ่งนี้TextBox1.Text;
-
-
</script>
<html xmlns=" http://www.w3.org/1999/xhtml ">
<หัว runat="เซิร์ฟเวอร์">
<title>หน้าที่ไม่มีชื่อ</title>
</หัว>
<ร่างกาย>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="กรุณากรอกชื่อของคุณ" width="183px"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="ส่ง" PostBackUrl="~/TargetPage.aspx" /></div>
</แบบฟอร์ม>
</ร่างกาย>
</html>
TargetPage.aspx: โปรดใส่ใจกับการตั้งค่าคุณสมบัติของ PreviousPageType
<%...@ Page Language="C#" %>
<%...@ PreviousPageType VirtualPath="~/SourcePage.aspx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR /xhtml1/DTD/xhtml1-transitional.dtd ">
<script runat="เซิร์ฟเวอร์">...
โมฆะที่ได้รับการป้องกัน Page_Load (ผู้ส่งวัตถุ EventArgs e)
-
this.Label1.Text = PreviousPage.YourName;
-
</script>
<html xmlns=" http://www.w3.org/1999/xhtml ">
<หัว runat="เซิร์ฟเวอร์">
<title>หน้าที่ไม่มีชื่อ</title>
</หัว>
<ร่างกาย>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" ></asp:Label>
</div>
</แบบฟอร์ม>
</ร่างกาย>
</html>
ตกลง ด้วยการตั้งค่าแอตทริบิวต์ง่ายๆ สองรายการ คุณสามารถรับคุณลักษณะการส่งข้ามหน้าได้อย่างง่ายดาย แน่นอน คุณยังสามารถทำการตั้งค่าที่ซับซ้อนมากขึ้นได้ตามความต้องการของคุณ เช่น จำเป็นต้องส่งการควบคุมแต่ละรายการไปยังหน้าอื่นหรือไม่