2011-08-12 54 views
3

我試圖從一個.aspx頁面傳遞一些值到處理程序(.ashx)。 我是通過使用會話變量來做到這一點,但我意識到,這對Firefox和Chrome的工作不好,我放棄了這個想法,並決定通過查詢字符串傳遞值。通用處理程序沒有收到完整的查詢字符串

我在uploadify init函數中設置這樣的處理程序。但是,當我嘗試訪問處理程序上的查詢字符串時,只有第一個參數是有效的(在這種情況下爲util_Id)。

debug print screen

我認爲有可能是壞了我是串聯的字符串,所以我做了一個小測試,並把它改成這樣的方式:

'uploader' : 'js/uploadify.swf', 
'script' : 'UploadVarios.ashx?id1=0&id2=0', 
'cancelImg' : 'js/cancel.png', 
... 

這裏是結果:

second print screen from debug

我到底做錯了什麼?

編輯:添加完整的查詢字符串

enter image description here

+0

你能後的URL通過 – Justin

+1

你有沒有使用ASP.Net(即'context.Request.Url.OriginalString')所見提琴手看看實際上通過電線發送了什麼? – AakashM

+1

@Kragen:我編輯了帖子並現在添加了。 AakashM:不,我還沒有(尚未)。部分原因是因爲我從來沒有使用過這樣的東西,並不熟悉它。 – seth

回答

3

只是一個建議 - 嘗試您的查詢字符串編碼像下面。

'uploader' : 'js/uploadify.swf', 
'script' : 'UploadVarios.ashx%3fid1%3d0%26id2%3d0', 
'cancelImg' : 'js/cancel.png', 

大概就是這樣做。如果沒有,你總是可以用HttpUtility.UrlDecode解碼,並得到鍵值收集與HttpUtility.ParseQueryString

+0

是的,這解決了這個問題。我應該編碼字符串?如果是這樣,我該怎麼做(不是手動我的意思)? – seth

+1

您可以使用JavaScript的encodeURIComponent()來自動執行該編碼。 –

+0

謝謝。我能夠使用你的建議解決這個問題。 – seth