2016-05-03 58 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编码。