Зарегистрированные участники и создайте вашу базу данных веб -разработки,
Стандартные HTML -формы (элементы формы) позволяют передавать и отправлять данные данных на другую страницу или приложение для использования элементов формы. В ASP.NET 1.x веб -страница использует механизм доставки для отправки данных страницы на саму страницу. Для ASP.NET 2.0 его функции расширились и могут быть разрешены на страницы. Давайте обсудим эту новую функцию на этой неделе.
Традиционный метод
Чтобы облегчить сравнение, я хочу потратить минуту, чтобы просмотреть старые способы передачи данных с веб -страниц. Элементы таблицы HTML имеют атрибут действия, чтобы указать, какие ресурсы (поэтому -называемые ресурсы относятся к веб -странице, сценарию, программе и т. Д.) Для обработки этих представленных данных. Следующий код - это образец.
<html>
<Head> <Title> Образец HTML Form </title> </head>
<тело>
<Form name = "frmasample" method = "post" action = "target_url">
<input type = "text" name = "fullName" id = "fullName" />
<input type = "button" name = "Отправить" value = "Opper" /> />
</form>
</body> </html>
Значение, введенное в текстовом домене (имя полное имя), будет отправлено на страницу или программу, указанную атрибутом действия элемента модуля. Для разработчиков ASP.NET это чрезвычайно редко, даже если они использовали стандартную HTML -форму.
Когда разработчики ASP.NET сталкиваются с задачей передачи данных данных с одной веб -страницы на другую, комната для выбора чрезвычайно широкая. Они включают переменные сеанса, файлы cookie, переменные QueryString, кэширование) и даже Server.Transfer, но ASP.NET 2.0 также предоставляет другой выбор.
ASP.NET 2.0 предоставляет еще один способ предоставления
При разработке ASP.NET 2.0 Microsoft распознала потребности пересечения данных между веб -страницами. С этим сознанием атрибут Prosebackurl добавляется в кнопку (кнопку) управление Asp.nt. Это позволяет указать, где форма и приведенные выше данные доставлены, когда пользователь отправляется (то есть значение URL -адреса, указанное в свойстве Prosbackurl). Вообще говоря, перекрестная передача -это процесс использования JavaScript в фоновом режиме.
< %@ page language = "vb" %><!
<html> <голова>
<Title> Пример Cross Propback </title>
</head> <body>
<Form id = "frmcrosssspostback1" method = "post" runat = "server">
<ASP: label id = "lblName" runat = "server" text = "name:"> </asp: label>
<ASP: TextBox id = "txtName" Runat = "server"> < /asp: textbox> <br />
<ASP: Label ID = "lble-mailAddress" runat = "server" text = "E-mail:"> </asp: метка>
<ASP: TextBox ID = "TXTE-MAILADDRESS" RUNAT = "SERVER"> < /asp: TextBox> <br />
<ASP: Button Id = "btnSubmit" Runat = "server" text = "Отправить" prosbackurl = "crossPostback2.aspx" />
</form> </body> </html>
На странице ASP.NET на странице ASP.NET есть два текстовых домена (с именем именем (имя) и электронная почта (электронная почта), а также кнопка (кнопка), используемая для отправки данных. Атрибут отправки этой кнопки отправки указан как другая веб -страница, так что при подаче формы данные можно отправить на эту страницу. ПРИМЕЧАНИЕ. В этом примере элемент формы устанавливается постепенным атрибутом путем настройки атрибута метода для создания метода отправки [2] во время отправки, но в этом нет необходимости, потому что все перекрестные обработки (поставка Cross -Page) использует Сообщите метод в соответствии с дизайном.
Используйте предыдущую страницу
Когда страница ASP.NET загружается через вызовы подачи перекрестного страницы, атрибут ISPOSTBACK объекта на нем не будет запускаться. Тем не менее, существует атрибут, называемый предыдущей страницей (предыдущая страница), позволяет получить доступ и использовать те, кто применил доставку Cross -Page.
Всякий раз, когда происходит перекрестный запрос на страницу, свойство предыдущей страницы текущей страницы сохраняется для ссылки на полученные страницы. Если генерация страницы не происходит из -за стимуляции доставки перекрестной страницы, или страница находится в разных группах программ, то свойство предыдущей страницы не будет инициализировано.
Вы можете определить, является ли загрузка страницы результатом доставки перекрестной страницы, проверив объект предыдущей страницы. Если значение является нулевым, это означает, что это обычная нагрузка, а не нулевое значение указывает на то, что веб -страница поступает от доставки Cross -Page. Кроме того, класс страницы также содержит метод, называемый iscrossspagepostback, который специально используется для определения того, является ли страница результатом доставки перекрестной страницы.
После определения вы можете получить доступ к управлению на вызовной странице методом FindControl объекта предыдущей страницы. Следующий код является второй страницей в нашем примере;
< %@ page language = "vb" %><!
<html> <голова>
<Title> Пример 2 </title> Cross Propback.
</head> <body>
<script language = "vb" runat = "server">
sub page_load ()
Если нет (page.previouspage - это ничего), тогда)
Если нет (page.iscrosspagepostback), тогда
Response.write ("name: + ctype (предыдущая page.findcontrol (" txtname "), textbox .text +" <br>)
Response.write ("e-mail:" + ctype (предыдущая страница.
конец, если
конец, если
Конец суб
</script> </body> </html>
Эта страница определяет, называется ли она с помощью поперечной доставки. Если это так, обращайтесь к значениям из вызова страниц через метод FindControl и преобразуйте элемент управления, полученный этим методом, в элемент управления текстовым полетом, а затем отобразить содержимое их атрибутов текста (текст).
Вы можете преобразовать весь объект предыдущей страницы в тип страницы, который запускает поперечную доставку. Этот метод позволяет вам получить доступ к странице страницы и метода страницы. Прежде чем я приведу пример этой технологии, мне нужно переписать первый пример, чтобы включить некоторые глобальные атрибуты. Следующий код является первым списком двух атрибутов.
< %@ page language = "vb" %><!
<html> <голова>
<Title> Пример Cross Propback </title>
<script language = "vb" runat = "server">
Общественное название недвижимости Readonly
получать
Вернуть me.txtname.text
конец получить
Конец собственности
Public Readonly Property EmailDdress
получать
Вернуть меня.txte-mailaddress.text
конец получить
Конец собственности
</script> </head> <body>
<Form id = "frmcrosssspostback1" method = "post" runat = "server">
<ASP: label id = "lblName" runat = "server" text = "name:"> </asp: label>
<ASP: TextBox id = "txtName" Runat = "server"> < /asp: textbox> <br />
<ASP: Label ID = "lble-mailAddress" runat = "server" text = "E-mail:"> </asp: метка>
<ASP: TextBox ID = "TXTE-MAILADDRESS" RUNAT = "SERVER"> < /asp: TextBox> <br />
<ASP: Button Id = "btnSubmit" Runat = "server" text = "Отправить" prosbackurl = "crossPostback2.aspx" />
</form> </body> </html>
Теперь, когда атрибуты были построены сейчас, вы можете легко получить к ним доступ. Чтобы быть бдительным, объект предыдущей страницы класса страницы должен быть преобразован в правильный тип, чтобы правильно получить доступ к его атрибутам. Это может быть реализовано путем преобразования его в подходящий класс страниц.
<%@ page language = "vb"%>< %@ Справочная страница = "~/crosspostback1.aspx" %>
<!
<html> <голова>
<Title> Пример Cross Propback 3 </title>
</head> <body>
<script language = "vb" runat = "server">
sub page_load ()
Dim cpppage как crosspostback1_aspx
Если нет (page.previouspage - это ничего), тогда)
Если нет (page.iscrosspagepostback), тогда
if (page.previouspage.isvalid) then
cpppage = ctype (предыдущая страница, CrossPostback1_aspx)
response.write ("name: + cppppage.name +" <br> ")
Response.write ("e-mail:" + cpppage.e-mailadddress)
конец, если
конец, если
конец, если
Конец суб
</script> </body> </html>
Объясните это, он определяет ссылку на страницу вызова на головке, чтобы этот тип ссылки можно было использовать в коде. Благодаря этой ссылке фактический код VB.NET использует функцию CTYPE для преобразования объекта предыдущей страницы в соответствующий тип. После этого эти атрибуты могут использоваться как демонстрация кода.
Использование метода Isvalid предыдущего объекта в приведенном выше списке напоминается здесь: Свойство Isvalid на предыдущей странице гарантирует, что вы прошли всю юридическую проверку и тестирование до его работы.
Суммировать
Существует много приложений для передачи параметров данных между веб -сайтами, включая поддержание личной информации пользователя. Передное веб -решение, например, использование запросов и файлов cookie, позволяет указать на другую страницу с одной страницы, когда возникает подача.
ASP.NET 1.1 В дополнение к предоставлению дополнительных методов, эти методы также могут быть хорошо поддержаны, но ASP.NET 2.0 полагается на доставку перекрестных страниц, что сделало большую разработку в этом отношении. Это делает одну веб -обработку с другой веб -страницы простыми. Когда вы разрабатываете следующую программу ASP.NET 2.0, вы должны хорошо использовать преимущества этой новой концепции.