|
https://technet.microsoft.com/en-us/library/ms143221(v=sql.105).aspx |
Опубликован: 14.11.2006 | Уровень: для всех | Доступ: свободно
Лекция 4:
Серверные элементы управления (продолжение)
Отправка данных другой странице
В 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>Заключение
Мы рассмотрели только некоторые элементы управления и убедились, что они предоставляют богатые возможности. В "AutoPostBack. Привязка к данным. Коллекции. Проверка правильности вводимых данных" мы рассмотрим другой важный класс элементов управления — валидаторы.