2011-12-10 16 views
6

Desidero ricevere suggerimenti di esperti sulla progettazione di URL per la nostra app Web. Questo non è un sito Web di dominio pubblico, è un'app web basata su supplychain basata su intranet utilizzata solo da un gruppo di utenti autenticati.ASP.Net MVC url linee guida per la progettazione e la struttura

Here're alcuni esempi -

/Claim/12/Manage 
FORMAT: controller/{ID}/action 

l'URL che punta a un mago "Rivendica Entry". Qui "12" è il ClaimID. È ulteriormente suddiviso in schede per l'immissione di dati secondari. esempio:/rivendicazione/12/Print,/Claim/12/FileDetails, ...

/Users/List 
FORMAT: controller/action 

di visualizzazione di una lista di utenti esistenti in griglia. E 'possibile accorciare questo in "/ Users"? Allo stesso modo abbiamo alcune altre entità così come "Ruoli, Organizzazioni, ecc ..."

/Master/Manage/FileType 
FORMAT: controller/action/{argument} 

Abbiamo una pagina che permette che all'utente di gestire diversi dati della tabella master. È necessario sapere quale tabella principale è selezionata (cioè inviata come argomento). È meglio semplificarlo come "/ Manage/{argument}" e poi mappare l'url come richiesto sopra?

  • È ragionevole in MVC per nascondere azioni predefinite come "Claim/21/Gestisci" shud essere "Rivendica/21", "/ Users/List" shud essere "/ Utenti" ...
  • Argomenti - sono meglio incorporati in url o buoni da aggiungere come stringa di query

Qualsiasi linea guida o riferimento generico sarebbe anche grande.

Rif: URL dei servizi Web - (Sezione: Progettare il Modelli URI) http://msdn.microsoft.com/en-us/library/dd203052.aspx

risposta

2

È possibile utilizzare le espressioni regolari per rappresentare i vari percorsi che avete. Per esempio

protected void Application_Start() 
{ 
RouteTable 
.Routes 
.MapRoute(
"Default", // Route name 
"{controller}/{action}/{id}", // URL template 
new { controller="Mycontroller", action="Myaction", id=UrlParameter.Optional }, 
new { action = @"\d{2}-\d{2}-\d{4}" } 
); 
} 
Problemi correlati