Тильда отображается в URL-адресе вместо сопоставления с корнем

У нас есть старый сайт .net, работающий на платформе 2.0. На этом сайте есть несколько вызовов, которые при необходимости перенаправляют вызов response.redirect (). По какой-то причине я не могу понять, что персонаж `перестал отображаться в корень - и фактически отображается как часть пути. Например:

Response.Redirect("~/shopping/checkout_confirm.aspx?rc=" & 
    MyPayment.ResponseCode & "&rt=" & MyPayment.ResponseText)

Теперь заканчивается попытка перенаправления на:

https://www.site.com/shopping/~/shopping/checkout_confirm.aspx?rc=3

Я также пробовал следующее, но безуспешно:

Response.Redirect(Page.ResolveUrl("~/shopping/checkout_confirm.aspx?rc=" &
    MyPayment.ResponseCode & "&rt=" & MyPayment.ResponseText))

При запуске в среде разработки URL-адрес отображается правильно ... Есть идеи, что может быть причиной / решением этой проблемы?


person cschear    schedule 14.04.2011    source источник
comment
Что находится в вашем MyPayment.ResponseText? Возможно, ценность этого заключается в том, чтобы все испортить. Возможно, вам потребуется URLEncode.   -  person patmortech    schedule 14.04.2011
comment
Делает покупки каталог на вашем сайте или это виртуальный каталог в IIS (приложение)? И каков результат вашего Page.ResolveUrl звонка?   -  person theChrisKent    schedule 14.04.2011
comment
проверьте эту ветку, я надеюсь, что это поможет вам stackoverflow.com/questions/ 31221 / response-redirect-using-path   -  person Muhammad Akhtar    schedule 14.04.2011
comment
Патмортех был прав. Как только я закодировал ответ, все заработало.   -  person cschear    schedule 14.04.2011


Ответы (2)


Часть ResponseText содержала символ, который нужно было закодировать.

person cschear    schedule 15.04.2011

Попробуйте вместо этого использовать относительный путь:

Response.Redirect("checkout_confirm.aspx?rc=" & MyPayment.ResponseCode & "&rt=" & MyPayment.ResponseText)
person Giovanni Funchal    schedule 14.04.2011
comment
Это сработает для примера, но не может отобразить из корня сайта. Это не сработает при любом использовании перенаправления. - person cschear; 14.04.2011