Response.Redirect导致相对路径格式错误

时间:2011-01-03 03:17:25

标签: configuration iis-7 httpresponse response.redirect

我有一个问题,让Response.Redirect在IIS后面的IIS 7上运行的ASP.NET Web表单站点上正常工作。重定向路径附加到我当前的路径,我无法找出导致这种情况的配置。

我的执行代码是:

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 :(得分:0)

我找到了自己的答案,忘了提一下这个谜题的关键部分。触发上面代码的按钮位于UpdatePanel中,我忘了将PostBackTrigger添加到该按钮的更新面板。 Response.Redirect然后工作。

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