Response.Redirect приводит к неправильному относительному пути - PullRequest
0 голосов
/ 03 января 2011

У меня проблема с правильной работой Response.Redirect на моем сайте веб-форм ASP.NET, работающем на IIS 7 за SSL. Путь перенаправления добавляется к моему текущему пути, и я не могу выяснить, какая конфигурация вызывает это.

Мой код выполнения:

string baseUrl = Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/') + '/';
Response.Redirect(Server.UrlEncode(baseUrl + "Default.aspx"), true);

Соответствующие части моего web.config:

<system.webServer>
    <security>
      <requestFiltering allowDoubleEscaping="true" />

  and

<httpRuntime useFullyQualifiedRedirectUrl="true" requestPathInvalidCharacters="" />

Выполняется из каталога Ui / Forms, я получаю это https://mysite.edu/Ui/Forms/https%3a%2f%2fmysite.edu%2fUi%2fForms%2fhttps%253a%2f%2fmysite.edu%2fDefaul.aspx

Любые указатели конфигурации или ссылки полезны. Спасибо.

1 Ответ

0 голосов
/ 05 января 2011

Я нашел свой ответ и забыл упомянуть ключевую часть головоломки. Кнопка, запускающая код выше, была в UpdatePanel, и я забыл добавить PostBackTrigger на панель обновления для этой кнопки. Response.Redirect тогда работает.

<Triggers>
    <asp:PostBackTrigger ControlID="btnSubmit" />
</Triggers>
...