2011-12-10 38 views
6

Quería obtener algunas sugerencias de expertos sobre el diseño de URL para nuestra aplicación web. Este no es un sitio web de dominio público, es una aplicación web basada en la cadena de suministro utilizada solo por un grupo de usuarios autenticados.ASP.Net MVC url diseño y directrices de estructura

Acá algunos ejemplos -

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

la dirección URL que apunta a una "entrada Reclamación" asistente. Aquí "12" es el ClaimID. Se divide además en pestañas para la entrada de subdatos. ejemplo:/reclamación/12/impresión,/reclamación/12/FileDetails, ...

/Users/List 
FORMAT: controller/action 

la pantalla de una lista de usuarios existentes en la red. Shud esto se acortará a "/ Usuarios"? Del mismo modo que hemos algunas otras entidades, así como los "Roles, organizaciones, etc ..."

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

Tenemos una página que permite que usuario gestionar diferentes datos de la tabla maestra. Necesita saber qué tabla maestra está seleccionada (es decir, enviada como argumento). ¿Es mejor simplificarlo como "/ Manage/{argument}" en su lugar y luego asignar esa url como se requiere arriba?

  • ¿Es sensato en MVC para ocultar acciones predeterminadas como "reclamación/21/Administrar" shud ser "Reclamación/21", "/ Usuarios/Lista" shud seas "/ Usuarios" ...
  • Argumentos - ¿Es mejor que estén incrustados en url o bien para agregar como cadena de consulta

Cualquier directriz o referencia genérica también sería excelente.

Ref: Servicios Web url - (Sección: El diseño de las plantillas de URI) http://msdn.microsoft.com/en-us/library/dd203052.aspx

Respuesta

2

Puede utilizar expresiones regulares para representar varias rutas que tiene. Por ejemplo

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}" } 
); 
}