2010-10-21 114 views
1

讓我們來看看我的控制器的一個動作獲取 - 作爲參數 - 加密的字符串。一個問題是,當URL看起來ASP.NET MVC將加密字符串傳遞給控制器​​的動作的問題

MyAccount/Activate/?code=DbXQ2SQiwYYiDhC+ahAppa23P95YifE2z6uyvnhWCFE= 

在行動 '代碼' 參數看起來像:

DbXQ2SQiwYYiDhC ahAppa23P95YifE2z6uyvnhWCFE= 

(以下簡稱 「+」 字符缺失)

爲什麼呢?

回答

3

URL是URL編碼的,+被解釋爲空格。使用Server.UrlEncode()方法在將加密字符串傳遞給查詢字符串之前對其進行編碼。

或者如果這個加密的字符串來自客戶端,則需要使用javascript來編碼數據。我確信有幾十篇關於如何做到這一點的網絡文章。這裏有一個例子:http://plugins.jquery.com/project/URLEncode

1

您需要對GET字符串中的代碼參數進行URL編碼。它應該是

MyAccount/Activate/?code=DbXQ2SQiwYYiDhC%2bahAppa23P95YifE2z6uyvnhWCFE%3d 
相關問題