2011-01-03 6 views
0

Ich habe ein Problem mit Response.Redirect auf meiner ASP.NET Web Forms-Site, die auf IIS 7 hinter SSL ausgeführt wird ordnungsgemäß zu funktionieren. Der Umleitungspfad wird an meinen aktuellen Pfad angehängt, und ich kann nicht herausfinden, welche Konfiguration das verursacht.Response.Redirect führt zu ungültigen relativen Pfad

Mein Ausführungscode ist:

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

Relevante Teile meiner web.config sind:

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

    and 

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

Ausgeführt aus dem Verzeichnis Ui/Forms, bekomme ich diese https://mysite.edu/Ui/Forms/https%3a%2f%2fmysite.edu%2fUi%2fForms%2fhttps%253a%2f%2fmysite.edu%2fDefaul.aspx

Beliebig Konfigurationszeiger oder Links sind hilfreich. Vielen Dank.

Antwort

0

Ich fand meine eigene Antwort und vergaß, ein Schlüsselstück des Puzzles zu erwähnen. Die Schaltfläche, die den obigen Code auslöst, befand sich in einem UpdatePanel, und ich habe vergessen, einen PostBackTrigger zum Update-Panel für diese Schaltfläche hinzuzufügen. Response.Redirect funktioniert dann.

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