Frage

Ich habe eine ASP.NET 2.0-Website mit einer benutzerdefinierten 404-Seite einsehen. Wenn der Inhalt nicht gefunden wird, dient die Website der benutzerdefinierten 404-Seite mit einer Abfragezeichenfolge Zusatz von aspxerrorpath = / mauro.aspx. Die 404-Seite selbst ist mit einem HTTP Status von 200. Um zu versuchen, diese I‘zu lösen hinzugefügt haben

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.StatusCode = 404;
    }

Ich habe den Google-Widget und habe zwei Probleme mit ihm. In Internet Explorer 7 es nicht angezeigt, wo es sein sollte. Wenn ich es auf den Inhalt hinzufügen, erhalte ich einen „unbekannten Fehler“ auf char 79 Linie 226 oder so; wenn ich es auf den Kopf Abschnitt hinzufügen erscheinen die Suchfelder über den Inhalt. In Firefox funktioniert es gut.

Also meine Fragen sind:

  1. Wie kann ich das Widget erscheinen Inline?
  2. Wie kann ich die Fehlerseite machen rendern als 404 mit dem ursprünglichen Namen und Pfad der Datei ist fordert, so dass, wenn ich bitten mauro.aspx ich den Inhalt für die Seite 404, aber mit der URL mauro.aspx? (Ich gehe davon aus, dass ich will müssen einige URL tun Umschreiben in der begin_request global.asax-Datei, aber Das möchte, bevor ich bestätigt tun etwas albern.)
War es hilfreich?

Lösung 2

ich die 404, indem Sie diese in der Datei global.asax behandelt haben

protected void Application_BeginRequest(object sender, EventArgs e)
{
    string url = Request.RawUrl;
    if ((url.Contains(".aspx")) && (!System.IO.File.Exists(Server.MapPath(url))))
    {
        Server.Transfer("/Error/FileNotFound.aspx");
    }
}

Nun, wenn jemand kann mir mit den Google-Widget helfen, das wäre toll!

Andere Tipps

Es gibt einen neuen Umleitungsmodus in ASP.NET 3.5 SP1, die Sie jetzt verwenden können, damit es nicht umleiten. Es zeigt die Fehlerseite, sondern hält die URL gleich:

„Auch schön für URL umleitet. Wenn Sie die redirectMode auf in web.config, um‚responseRewrite‘Sie eine Umleitung auf eine benutzerdefinierte Fehlerseite vermeiden und die URL im Browser unberührt lassen.“

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top