ASP.NET Tutorial/Page Lifecycle/Cross Page Posting
Содержание
Cross-page post (VB.net)
<source lang="csharp">
<%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Label1.Text = "Hello " & TextBox1.Text & "
" & "Date Selected: " & Calendar1.SelectedDate.ToShortDateString() End Sub
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>First Page</title>
</head> <body>
<form id="form1" runat="server"> Enter your name:
<asp:Textbox ID="TextBox1" Runat="server"/> When do you want to fly?
<asp:Calendar ID="Calendar1" Runat="server"/>
<asp:Button ID="Button1" Runat="server" Text="Submit page to itself" OnClick="Button1_Click" /> <asp:Button ID="Button2" Runat="server" Text="Submit page to NextPage.aspx" PostBackUrl="NextPage.aspx" /> <asp:Label ID="Label1" Runat="server"/> </form>
</body> </html>
File: NextPage.aspx <%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Dim myTextbox1 As TextBox Dim myCalendar1 As Calendar myTextbox1 = CType(PreviousPage.FindControl("Textbox1"), TextBox) myCalendar1 = CType(PreviousPage.FindControl("Calendar1"), Calendar) Label1.Text = "Hello " & myTextbox1.Text & "
" & _ "Date Selected: " & myCalendar1.SelectedDate.ToShortDateString() End Sub
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Second Page</title>
</head> <body>
<form id="form1" runat="server"> <asp:Label ID="Label1" Runat="server"></asp:Label> </form>
</body> </html></source>
Exposing the values of the control from a Property
<source lang="csharp">
index.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 TextBox pp_TextBox1 { get { return TextBox1; } } public Calendar myCalendar1 { get { return Calendar1; } } protected void Button1_Click (object sender, System.EventArgs e) { Label1.Text = "Hello " + TextBox1.Text + "
" + "Date Selected: " + Calendar1.SelectedDate.ToShortDateString(); }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>First Page</title>
</head> <body>
<form id="form1" runat="server"> Enter your name:
<asp:Textbox ID="TextBox1" Runat="server"> </asp:Textbox> When do you want to fly?
<asp:Calendar ID="Calendar1" Runat="server"></asp:Calendar>
<asp:Button ID="Button1" Runat="server" Text="Submit page to itself" OnClick="Button1_Click" /> <asp:Button ID="Button2" Runat="server" Text="Submit page to NextPage.aspx" PostBackUrl="NextPage.aspx" /> <asp:Label ID="Label1" Runat="server"></asp:Label> </form>
</body> </html> File: NextPage.aspx
<%@ Page Language="C#" %> <%@ PreviousPageType VirtualPath="Default.aspx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
protected void Page_Load(object sender, System.EventArgs e) { if (Page.IsCrossPagePostBack) { Label1.Text = "Hello " + PreviousPage.myTextbox1.Text + "
" + "Date Selected: " + PreviousPage.myCalendar1.SelectedDate.ToShortDateString(); } else { Response.Redirect("Default.aspx"); } }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Second Page</title>
</head> <body>
<form id="form1" runat="server"> <asp:Label ID="Label1" Runat="server"></asp:Label> </form>
</body> </html></source>
New Cross-Page Posting
<source lang="csharp">
<%@ 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">
protected void Button1_Click (object sender, System.EventArgs e) { Label1.Text = "Hello " + TextBox1.Text + "
" + "Date Selected: " + Calendar1.SelectedDate.ToShortDateString(); }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>First Page</title>
</head> <body>
<form id="form1" runat="server"> Enter your name:
<asp:Textbox ID="TextBox1" Runat="server"/> When do you want to fly?
<asp:Calendar ID="Calendar1" Runat="server"></asp:Calendar>
<asp:Button ID="Button1" Runat="server" Text="Submit page to itself" OnClick="Button1_Click" /> <asp:Button ID="Button2" Runat="server" Text="Submit page to NextPage.aspx" PostBackUrl="NextPage.aspx" /> <asp:Label ID="Label1" Runat="server"></asp:Label> </form>
</body> </html> File: NextPage.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">
protected void Page_Load(object sender, System.EventArgs e) { TextBox myTextbox1; Calendar myCalendar1; myTextbox1 = (TextBox)PreviousPage.FindControl("Textbox1"); myCalendar1 = (Calendar)PreviousPage.FindControl("Calendar1"); Label1.Text = "Hello " + myTextbox1.Text + "
" + "Date Selected: " + myCalendar1.SelectedDate.ToShortDateString(); }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Second Page</title>
</head> <body>
<form id="form1" runat="server"> <asp:Label ID="Label1" Runat="server"></asp:Label> </form>
</body> </html></source>
Page.IsCrossPagePostBack
<source lang="csharp">
index.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 TextBox pp_TextBox1 { get { return TextBox1; } } public Calendar myCalendar1 { get { return Calendar1; } } protected void Button1_Click (object sender, System.EventArgs e) { Label1.Text = "Hello " + TextBox1.Text + "
" + "Date Selected: " + Calendar1.SelectedDate.ToShortDateString(); }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>First Page</title>
</head> <body>
<form id="form1" runat="server"> Enter your name:
<asp:Textbox ID="TextBox1" Runat="server"> </asp:Textbox> When do you want to fly?
<asp:Calendar ID="Calendar1" Runat="server"></asp:Calendar>
<asp:Button ID="Button1" Runat="server" Text="Submit page to itself" OnClick="Button1_Click" /> <asp:Button ID="Button2" Runat="server" Text="Submit page to NextPage.aspx" PostBackUrl="NextPage.aspx" /> <asp:Label ID="Label1" Runat="server"></asp:Label> </form>
</body> </html> File: NextPage.aspx
<%@ Page Language="C#" %> <%@ PreviousPageType VirtualPath="Default.aspx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
protected void Page_Load(object sender, System.EventArgs e) { if (Page.IsCrossPagePostBack) { Label1.Text = "Hello " + PreviousPage.myTextbox1.Text + "
" + "Date Selected: " + PreviousPage.myCalendar1.SelectedDate.ToShortDateString(); } else { Response.Redirect("Default.aspx"); } }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Second Page</title>
</head> <body>
<form id="form1" runat="server"> <asp:Label ID="Label1" Runat="server"></asp:Label> </form>
</body> </html></source>
Page level property (VB.net)
<source lang="csharp">
<%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">
Public ReadOnly Property pp_TextBox1() As TextBox Get Return TextBox1 End Get End Property Public ReadOnly Property myCalendar1() As Calendar Get Return Calendar1 End Get End Property Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Label1.Text = "Hello " & TextBox1.Text & "
" & _ "Date Selected: " & Calendar1.SelectedDate.ToShortDateString() End Sub
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>First Page</title>
</head> <body>
<form id="form1" runat="server"> Enter your name:
<asp:Textbox ID="TextBox1" Runat="server"> </asp:Textbox> When do you want to fly?
<asp:Calendar ID="Calendar1" Runat="server"/>
<asp:Button ID="Button1" Runat="server" Text="Submit page to itself" OnClick="Button1_Click" /> <asp:Button ID="Button2" Runat="server" Text="Submit page to NextPage.aspx" PostBackUrl="NextPage.aspx" /> <asp:Label ID="Label1" Runat="server"/> </form>
</body> </html> File: NextPage.aspx <%@ Page Language="VB" %> <%@ PreviousPageType VirtualPath="Default.aspx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Label1.Text = "Hello " & PreviousPage.myTextbox1.Text & "
" & _ "Date Selected: " & _ PreviousPage.myCalendar1.SelectedDate.ToShortDateString() End Sub
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Second Page</title>
</head> <body>
<form id="form1" runat="server"> <asp:Label ID="Label1" Runat="server"></asp:Label> </form>
</body> </html></source>
PreviousPageType directive
<source lang="csharp">
<%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">
Public ReadOnly Property pp_TextBox1() As TextBox Get Return TextBox1 End Get End Property Public ReadOnly Property myCalendar1() As Calendar Get Return Calendar1 End Get End Property Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Label1.Text = "Hello " & TextBox1.Text & "
" & _ "Date Selected: " & Calendar1.SelectedDate.ToShortDateString() End Sub
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>First Page</title>
</head> <body>
<form id="form1" runat="server"> Enter your name:
<asp:Textbox ID="TextBox1" Runat="server"/> When do you want to fly?
<asp:Calendar ID="Calendar1" Runat="server"/>
<asp:Button ID="Button1" Runat="server" Text="Submit page to itself" OnClick="Button1_Click" /> <asp:Button ID="Button2" Runat="server" Text="Submit page to NextPage.aspx" PostBackUrl="NextPage.aspx" /> <asp:Label ID="Label1" Runat="server"/> </form>
</body> </html> File: NextPage.aspx <%@ Page Language="VB" %> <%@ PreviousPageType VirtualPath="Default.aspx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) If Page.IsCrossPagePostBack Then Label1.Text = "Hello " & PreviousPage.myTextbox1.Text & "
" & _ "Date Selected: " & _ PreviousPage.myCalendar1.SelectedDate.ToShortDateString() Else Response.Redirect("Default.aspx") End If End Sub
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Second Page</title>
</head> <body>
<form id="form1" runat="server"> <asp:Label ID="Label1" Runat="server"/> </form>
</body> </html></source>