2011-07-04 11 views
0

私は古典的なASPには新しく、辞書オブジェクトに問題があります。私がしようとしているのは、私が新しいキーと値をPOSTするときです。動的に新しいキーと値を辞書に追加してブラウザに表示します。従来のASP。新しいキーと値を辞書に表示

私はそれがキーと値を表示するには、これを試してみてください私は

<html> 
<head> 
</head> 

<body> 
    <form method="post" action="form.asp"> 
    <input type="text" id="key" name="key" /> <br /> 
    <input type="text" id="value"name="value" /> 
    <input type="submit" name="Submit" value="Submit" /> 
    </form> 

    <% 

Dim key 
Dim value 

    key = request.form("key") 
    value = request.form("value") 

    Set d = Server.CreateObject("Scripting.Dictionary") 
    d.add key,value 

     Response.Write("<p>The value of the keys are:</p>") 
       a=d.Keys 
      for i = 0 To d.Count -1 
      s = s & a(i) & "<br />" 
      next 
      Response.Write(s) 
       %> 
      </body> 
     </html> 

答えて

1

何が必要なのセッションを、その後のセッションで辞書を保存するたびに、そこからそれを取る、項目を追加して更新することですグローバルストレージに追加されます。
デフォルトでは、セッションはユーザーがアイドル状態になってから20分後に失効します。

+0

私は昨日言ったように - 辞書はセッション値に格納する必要があります – Dee

+0

@実際にはちょっとしたことではないので、適切なコードを与えました。 –

1

を計上してきたものは保存されません新しいキーと値をPOSTするたびに。
これを保存するには、辞書オブジェクトをセッション値に入れるか、辞書値を配列として保存する必要があります。それは、

Dim d 
If IsObject(Session("d")) Then 
    Set d = Session("d") 
Else 
    Set d = Server.CreateObject("Scripting.Dictionary") 
End If 
d.add key, value 
Set Session("d") = d 

たびにユーザーがデータを掲載します。この方法:

<html> 
<head> 
</head> 

<body> 
<form method="post" action="form.asp"> 
<input type="text" id="key" name="key" /> <br /> 
<input type="text" id="value"name="value" /> 
<input type="submit" name="Submit" value="Submit" /> 
</form> 

<% 

Dim key 
Dim value 

key = request.form("key") 
value = request.form("value") 

Set d = Server.CreateObject("Scripting.Dictionary") 
d.add key,value 

Response.Write("<p>The value of the keys are:</p>") 
a=d.keys 
b=d.items 
for i = 0 To d.Count - 1 
    s = s & a(i) & "=" & b(i) & "<br />" 
next 
Response.Write(s) 
%> 
</body> 
</html> 
関連する問題