2009-10-09 44 views
1

我有一箇舊的經典ASP代碼,如:爲什麼經典ASP在多個選擇列表中存在ASP.Net不存在的值之間的空格?

<html> 
<head></head> 
<body> 
<form action="test.asp" method="post" name="fname"> 
<select name="clients" size="3" multiple="multiple"> 
     <option value="5311" selected="selected">5311</option> 
     <option value="9999" selected="selected">9999</option> 
</select> 
<input type="submit" value="test"> 
</form> 
<% 
dim clients 
clients=Request.Form("clients") 
Response.Write(clients) 
%> 
</body> 
</html> 

這個輸出5311,9999從的Request.Form對象

如果我把相同的HTML在ASP.Net應用和讀取請求.Form對象它輸出5311,9999。

發現差異,兩者之間有空間。

這是爲什麼?有沒有辦法改變它,所以它包括空間?

感謝

+1

好,空間和失蹤9) – UpTheCreek 2009-10-09 09:20:44

+0

可能是一個錯字....... – rahul 2009-10-09 09:21:31

+1

只是想知道雖然 - 你爲什麼要這個空間?看起來像傳統的ASP只是做了一件BADY ... – UpTheCreek 2009-10-09 09:21:53

回答

0

這聽起來像你可能做了更換,以創建一個有效的SQL語句的一部分。如果這就是你正在做的事情,那真是個壞主意,因爲邪惡的訪客可以用它來運行他們喜歡的任何SQL語句。對於傳統的ASP和ASP.net來說,一個更好的主意是對逗號進行分割,並使用CLng或Convert.ParseInt32轉換爲數字並使用它構建SQL語句。

2

傳統的ASP已經改變。圍繞Windows Server 2008,可能以後由於補丁或服務包,它開始放在物品之間。

它確實有場陣列同樣的事情。如果您有3個名稱爲「AMOUNT」的輸入框,response.write(request.amount)將顯示aaa,bbb,ccc

我一直在使用經典的ASP大約12年,這開始發生了一段時間以前和打破的事情。

我從來沒有見過它雖然記錄。

注:我可以找到老微軟的文檔是專門說一個「逗號分隔的字符串」