Передача выпадающего значения в действие в классическом asp

Я работаю над классическим Asp, я хочу отправить значение, выбранное в раскрывающемся списке, в другую форму через строку запроса. Я пробовал, как показано ниже:

<form method="POST" action="Includes/bfl_forms.asp?type=S&id=" &rsstates("uid")=""> <p> и вот так, но не получилось</p>  <p> но способ, которым я заселяюсь, выпадает ниже:</p> <pre class="prettyprint linenums">private sub generateStateDropDownList()'
 temp = ""'
 temp = temp + "<select name="" dest""="">" '
 temp = temp + "<option value="" #""="">Select a State"'
 rsStates.MoveFirst'
 Do While NOT rsStates.EOF'
 temp = temp + "</option></select>"''

Я не могу передать значение drop down в новую форму. Пожалуйста, помогите мне. Заранее спасибо.

2 ответа

Кажется, вы неправильно форматировали теги form. Вы должны делать что-то вроде этого:

<form method="post" action="includes/bgl_forms.asp?type=S&id=<%= rsStates(" uid")="" %=""><code>"&gt;</code> <p> или...</p> <pre class="prettyprint linenums">">

Код для заполнения вашего тега select, однако, немного повсюду. Во-первых, более эффективно записывать выходные данные непосредственно в буфер, например:

Response.Write("
<p> Вместо того, чтобы создавать такую строку.</p> <p> Во-вторых, вам нужно только указать список <code>option тега select, например...

<select id="dest" name="dest">
 <% BuildOptions rsStates(destId) %>
</select>

Функция BuildOptions в середине будет использоваться для заполнения параметров из вашего списка поиска.

Скорость всегда имеет значение с CLASSic ASP. Я рекомендую вам использовать что-то вроде GetRows объекта ADO RecordSet.


Как использовать GET вместо POST?

<form method="GET" action="includes/bgl_forms.asp">

 <p> Это поместит все входы в строку запроса,</p> </form>

licensed under cc by-sa 3.0 with attribution.