2011-07-04 81 views
0

我是新來的經典ASP和得到了與Dictionary對象的問題。我想要做的是當我發佈一個新的密鑰和價值。它會動態地將一個新的鍵和值添加到字典中並顯示給瀏覽器。經典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

你需要的是字典存儲在會話,然後從那裏每次添加的項目,並更新會話:

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 

這樣,每次用戶將發佈的數據,它將被添加到全球存儲。
注意,默認情況下屆20分鐘用戶被閒置後過期。

+0

是啊,就像我昨天說的 - 字典需要被存儲在一個會話值 – Dee

+0

@Dee確實只是給了正確的代碼,因爲它是不平凡的。 –

1

試試這個顯示鍵和值。
要保存它,你將需要把字典對象到一個會話值或保存字典值作爲數組。

<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>