2

次のようにリクエストパラメータを取得する間に問題や違いはありますか:

Request("<ParamName>")

それ以外の:

Request.Form("<ParamName>")または
Request.QueryString("<ParamName>")

前もって感謝します!

4

1 に答える 1

4

Request.Form() は、POST された値を取得します。Request.QueryString() には、クエリ文字列からの値が含まれます。Request() には、同じ名前の QueryString 値がない限り、POST された値が含まれます。同じ名前の場合は、QueryString 値が含まれます。

クッキーも関係していると思いますが、クッキーがスタックにどのように収まるかについての記憶は少し曖昧です。

POST されたフォームからの値が気になる場合は Request.Form() を使用し、URL クエリ文字列の値が気になる場合は Request.QueryString() を使用します。気にしない場合は、Request() を使用してください。

テストする簡単なサンプル:

<% OPTION EXPLICIT %>
<%
    dim vname : vname = "test"

    dim r   : r   = request(vname)
    dim r_f : r_f = request.form(vname)
    dim r_q : r_q = request.querystring(vname)

%>
POST:<br />
<form method="post">
<input type="text" name="test" value="Posted Form Value">
<input type="submit" name = "">
</form>

<hr>

<a href='?test=<% = Server.HtmlEncode("Querystring in URL") %>'>GET</a>

<hr>
request: <% = r %>

<hr>
request.form: <% = r_f %>

<hr>
request.querystring: <% = r_q %>
于 2013-05-16T14:49:38.903 に答える