2016-05-03 61 views
0

我有後續的iframe元素Request.Params被替換字符「+」爲「」(空格).NET

<iframe id="iFrameMain_01_01_01_01" 
     frameborder="0" width="100%" height="100%" scrolling="no" 
     style="OVERFLOW:hidden;" 
     src="SearchGrid.aspx?SearchName=fey&amp;Code=01_01_01_01&amp;SearchParam=Localizar&amp;ParentType=Filter&amp;gi=Testes&amp;SP=&amp;token=P7vZAKdnaPiDlD89ICn5Hr/CGTYmMpWOMKh5eiO6r0UIXK0cvt8Xc/NA0AEG3n+Lv/p8rSIWSFwVsr9tlS1/+Q=="> 
</iframe> 

當我試圖讓帕拉姆「在Page_Load中標記」與Request.Params["token"]我有值:

P7vZAKdnaPiDlD89ICn5Hr/CGTYmMpWOMKh5eiO6r0UIXK0cvt8Xc/NA0AEG3n Lv/p8rSIWSFwVsr9tlS1/ Q== 

字符「+」被空格替換。

回答

2

字符「+」被空格替換。

是的,它會 - 因爲這就是URL解碼對於查詢參數所要做的。當你URL-encode a space in a query parameter,你得到一個+在所得到的URL,所以URL解碼該URL應該給回空間。當你使用URL編碼+時,你得到%2B

基本上,這聽起來像你應該使用一個web安全的base64版本,所以你不必擔心URL編碼你的數據。否則,請確保先執行自己的URL編碼。