Amr*_*awy 2 c# asp.net query-string
我有一个问题,如果我通过包含字符串+在查询字符串,并尝试读取它,它会得到相同的字符串,但用空字符替换+
例如,如果我通过查询像../Page.aspx?data=sdf1+sdf然后在页面加载我读data通过data = Request.QueryString["data"]它会得到如下 data ="sdf1 sdf"
我通过替换任何空char来解决问题+..
但是有什么问题会导致这种情况吗?在所有情况下,用+替换空char是我的解决方案吗?
因为+是url编码的空间表示" ".如果你想在你的值中预先加上加号,你需要对其进行url编码:
"/Page.aspx?data=" + HttpUtility.UrlEncode("sdf1+sdf")
Run Code Online (Sandbox Code Playgroud)
这将产生:
/Page.aspx?data=sdf1%2bsdf
Run Code Online (Sandbox Code Playgroud)
现在,当你读到Request.QueryString["data"]你将得到你所期望的.
| 归档时间: |
|
| 查看次数: |
4205 次 |
| 最近记录: |