Способ передачи данных формы с одной страницы на другую с помощью GET и POST в ASP.

Заявление об отказе от обязательств для неподдерживаемых продуктов

Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается «как есть» и обновляться не будет.

Обзор

Одно из наиболее часто встречающихся действий в ASP (ASP) веб-разработки передача данных с одной страницы на другую для обработки. Эта статья содержит пошаговое описание примеров, чтобы продемонстрировать, как это сделать. Используются два метода: один использует метод POST, а другой метод GET. Хотя существуют более глубокие уровни сложности относительно этих подходов, которые можно использовать, в этой статье просто показано, как применять эти идеи.

Примечание: В этих примерах только второй страницы в каждой последовательности должны быть страниц .asp, поскольку только они фактически содержат код на стороне сервера для демонстрации. Начальные страницы может быть htm или ASP-страницы.

С помощью метода POST

При использовании метода POST, Вы отправляете значения HTML-элемента управления в форму на странице, указанной в атрибуте действия. Чтобы сделать это, выполните следующие действия.

  1. Создайте новую страницу .htm и назовите её Gatherdata_post.htm. Для этого в Visual InterDev версии 6.0, щелкните правой кнопкой мыши узел проекта в обозревателе проектов, нажмите кнопку Добавитьи HTML-страницы, введите Gatherdata_post.htm в качестве имени страницы и нажмите кнопку Открыть.
  2. Вставьте следующий код в новую страницу:Примечание: следует убрать код, который находится на странице по умолчанию,который InterDev добавляет на страницу, при первоначальном её создании, перед тем как вы будете вставлять свой код. В противном случае будет иметь избыточных тегов.
    <html><head>
    </head>
    <body>
    <FORM action="RetrieveData_Post.asp" id=form1 method=post name=form1>
    First Name:
    <br>
    <INPUT id="txtFirstName" name="txtFirstName" >
    <br>
    Last Name:
    <br>
    <INPUT id="txtLastName" name="txtLastName" >
    <br>
    <INPUT type="submit" value="Submit">
    </FORM>
    </body>
    </html>

  3. Сохраните страницу. Чтобы сделать это, нажмите кнопку Gatherdata_post.htm сохранить в меню файл в Интегрированной среде разработки Visual InterDev.
  4. Создайте другую страницу с именем Retrievedata_post.asp. Вставьте следующий код в страницу и сохраните страницу.
    <%@ Language=VBScript %><html>
    <head>
    </head>
    <body>
    <%
    Response.Write("First Name: " & Request.Form("txtFirstName") & "<br>")
    Response.Write("Last Name: " & Request.Form("txtLastName") & "<br>")
    %>
    </body>
    </html>


  5. Запустите Gatherdata_post.htm, щелкните страницу правой кнопкой мыши и выбрав команду Просмотр в обозревателе. Введите некоторые значения для имени и фамилии и нажмите кнопку Отправить. Обратите внимание, что данные, введенные в Getdata_post.htm был отправлен по HTTP POST на страницу Retrievedata_post.asp для извлечения с помощью коллекции строковых .

С помощью метода GET

При использовании метода GET, отправьте значения HTML-элементы управления в форме на странице, указанного в атрибуте действия таким образом, похож на метод POST, как было описано ранее. Тем не менее можно заметить, что значения, отправляются в строку запроса. Одна главная проблема следует учитывать при использовании GET вместо POST является видимым в URL-АДРЕСЕ значения.

Чтобы использовать метод GET, выполните следующие действия.
  1. Создайте новую страницу .htm и назовите его Gatherdata_get.htm. Для этого в Visual InterDev версии 6.0, щелкните правой кнопкой мыши узел проекта в обозревателе проектов, нажмите кнопку Добавитьи HTML-страницы, введите Gatherdata_get.htm в качестве имени страницы и нажмите кнопку Открыть.
  2. Вставьте следующий код в новую страницу:Примечание: следует убрать код, который находится на странице по умолчанию,который InterDev добавляет на страницу, при первоначальном её создании, перед тем как вы будете вставлять свой код. В противном случае будет иметь избыточных тегов.
    <html><head>
    </head>
    <body>
    <FORM action="RetrieveData_Get.asp" id=form1 method=GET name=form1>
    First Name:
    <br>
    <INPUT id="txtFirstName" name="txtFirstName" >
    <br>
    Last Name:
    <br>
    <INPUT id="txtLastName" name="txtLastName" >
    <br>
    <INPUT type="submit" value="Submit" id=submit1 name=submit1>
    </FORM>
    </body>
    </html>

  3. Сохраните страницу. Чтобы сделать это, нажмите кнопку Gatherdata_get.htm сохранить в меню файл в Интегрированной среде разработки Visual InterDev.
  4. Создайте другую страницу с именем Retrievedata_get.asp. Вставьте следующий код в страницу и сохраните страницу.
    <%@ Language=VBScript %><html>
    <head>
    </head>
    <body>
    <%
    Response.Write("First Name: " & Request.QueryString("txtFirstName") & "<br>")
    Response.Write("Last Name: " & Request.QueryString("txtLastName") & "<br>")
    %>
    </body>
    </html>

  5. Запустите Gatherdata_get.htm, щелкните страницу правой кнопкой мыши и выбрав команду Просмотр в обозревателе. Введите некоторые значения для имени и фамилии и нажмите кнопку Отправить. Обратите внимание, что данные, введенные в Getdata_get.htm отправляется через GET к странице Retrievedata_get.asp для извлечения с помощью коллекции Request.QueryString . Как вы уже видели, коллекция строк запросов является, где данные доступны для извлечения страницы ASP при использовании GET действие для отправки страницы и коллекция формы используется для извлечения данных при реализации процедуры POST.

Ссылки

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

254742 IIS: ASP при анализе данных форм HTTP с помощью универсальных коллекций
208427 информация: длина URL-адреса максимальное — 2,083 символов в обозревателе Internet Explorer
254786 PRB: строка усекается запроса
Свойства

Номер статьи: 300104 — последний просмотр: 23 февр. 2017 г. — редакция: 1

Отзывы и предложения