Отправка данных другой странице
В ASP .NET 1.1 не разрешалась отправка данных между страницами. В ASP .NET 2.0 элементы управления имеют свойство PostBackUrl, где можно указать, какой странице система должна передать Web-форму, если отправление данных на сервер инициировано этим элементом управления.
Через свойство PreviousPage страницы можно выяснить, какая страница была источником постбэка нашей страницы.
На первой странице рисуется календарь:
<%@ 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"> </script>
<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Первая страница</title> </head> <body> <form id = "form1" runat= "server"> Ваше имя:<br /> <asp:Textbox ID="TextBox1" Runat="server"> </asp:Textbox> <p> Желаемая дата вылета?<br /> <asp:Calendar ID="Calendar1" Runat="server"></asp:Calendar></p> <br /> <asp:Button ID="Button2" Runat="server" Text="Submit page to Page2.aspx" PostBackUrl="Page2.aspx" /> <p> <asp:Label ID="Label1" Runat="server"></asp:Label></p> </form> </body> </html>
А на второй читаются значения первой формы:
<%@ 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) { if (PreviousPage != null) { TextBox pp_Textbox1; Calendar pp_Calendar1; pp_Textbox1 = (TextBox)PreviousPage.FindControl("Textbox1"); pp_Calendar1 = (Calendar)PreviousPage.FindControl("Calendar1"); Label1.Text = "Здравствуйте, " + pp_Textbox1.Text + "!<br />" + "Вы выбрали: " + pp_Calendar1.SelectedDate.ToShortDateString(); } } </script>
<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Вторая страница</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" Runat="server"></asp:Label> </div> </form> </body> </html>