2009-07-14 22 views

risposta

6

Gli URL non puntano effettivamente ai file. Stanno usando le regole di riscrittura degli URL per convertire l'URL in una query del database e reindirizzare l'output a una pagina specificata (il cui URL non è visualizzato).

Edit: Per chiarimenti utilizza i MVC, quindi l'url sta indicando una specifica azione di controllo (con o senza parametri, a seconda della pagina). L'azione esegue un codice per afferrare i dati o qualsiasi altra cosa e passa a una vista corrispondente, che è fondamentalmente un modello html che riempie le informazioni fornite dall'azione e rende la pagina.

+3

Umm. Una specie di. In realtà invoca un metodo di azione del controller, che probabilmente esegue una query su DB e restituisce una vista particolare relativa all'URL. – tvanfosson

+1

Come può essere questa la risposta accettata? È completamente senza senso. :) – bzlm

5

Stack Overflow utilizza ASP.NET MVC che elimina gli URL dalla scatola.

Fondamentalmente quello che ti serve è qualcosa che prende l'URL pulito e poi lo mappa su un URL .NET standard con il passare in "directory" extra come parametri. per esempio. riscrittura/blog/post-nessuno su /blog.aspx?id=post-no-one.

Il nuovo IIS ha una spina riscrittura in che farà questo per voi, se si vuole fare con ASP.NET tradizionale:

Using URL rewrite module

Oppure si può rotolare il proprio sovrascrivendo HttpModule e facendo riscrive lì. Ecco un esempio di complesso che:

URL rewriting engine

2

come alcune persone hanno detto, lo è anche utilizzando l'URL motore di routing incluso con MVC. Hanno effettivamente reso il codice disponibile tramite CodePlex, quindi puoi utilizzarlo all'interno di un sito ASP.NET basato su webform.

Phil Haack ha un bel riassunto di come fare questo:

Routing w/WebForms

Esso comprende campioni, link, ecc che dovrebbero essere utile per ottenere hai iniziato.

Problemi correlati