2009-07-14 12 views

Antwort

6

Die URLs verweisen nicht auf Dateien. Sie verwenden URL-Umschreibungsregeln, um die URL in eine Datenbankabfrage zu konvertieren und die Ausgabe an eine angegebene Seite zurückzuliefern (deren URL nicht angezeigt wird).

Edit: Zur Klarstellung SO verwendet MVC, so die URL verweist auf eine bestimmte Controller-Aktion (mit oder ohne Parameter auf der Seite abhängig). Die Aktion führt einen Code aus, um Daten oder Ähnliches zu erfassen, und übergibt sie an eine entsprechende Ansicht, bei der es sich im Grunde um eine HTML-Vorlage handelt, die die von der Aktion bereitgestellten Informationen ausfüllt und die Seite rendert.

+3

Umm. Irgendwie. Es ruft tatsächlich eine Controller-Aktionsmethode auf, die wahrscheinlich eine Datenbankabfrage ausführt und eine bestimmte, auf die URL bezogene Ansicht rendert. – tvanfosson

+1

Wie kann dies die akzeptierte Antwort sein? Es ist völlig Kauderwelsch. :) – bzlm

5

Stack Overflow verwendet ASP.NET MVC, das URLs sofort bereinigt.

Im Grunde brauchen Sie etwas, das die saubere URL annimmt und diese dann einer Standard-.NET-URL zuordnet, wobei Sie zusätzliche 'Verzeichnisse' als Parameter übergeben. z.B. Umschreiben/Blog/Post-No-One zu /blog.aspx?id=post-no-one.

Die neue IIS hat eine Rewrite-Plug-in, dass wird dies für Sie tun, wenn Sie es mit traditionellen ASP.NET zu tun:

Using URL rewrite module

Oder Sie Ihre eigenen durch zwingende Httpmodule und tun rollen schreibt dort neu. Hier ist ein komplexes Beispiel dafür:

URL rewriting engine

2

Als ein paar Leute erwähnt haben, SO wird unter Verwendung der URL Routing-Engine mit MVC enthalten. Sie haben den Code tatsächlich über CodePlex verfügbar gemacht, sodass Sie ihn in einer webformsbasierten ASP.NET-Site verwenden können.

Phil Haack hat eine schöne Zusammenfassung, wie dies zu tun:

Routing w/WebForms

Es enthält Beispiele, Links, etc., die in die ersten Schritte hilfreich sein sollte.

Verwandte Themen