我有一个问题,让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
任何配置指针或链接都很有帮助。感谢。
答案 0 :(得分:0)
我找到了自己的答案,忘了提一下这个谜题的关键部分。触发上面代码的按钮位于UpdatePanel中,我忘了将PostBackTrigger添加到该按钮的更新面板。 Response.Redirect然后工作。
<Triggers>
<asp:PostBackTrigger ControlID="btnSubmit" />
</Triggers>