Потому что +
- это представление пространства в кодировке url " "
. Если вы хотите сохранить знак плюса в вашем значении, вам нужно будет url кодировать его:
"/Page.aspx?data=" + HttpUtility.UrlEncode("sdf1+sdf")
, который будет производить:
/Page.aspx?data=sdf1%2bsdf
Теперь, когда вы прочитаете Request.QueryString["data"]
, вы получите то, что ожидаете.