Pregunta

Estoy trabajando en un mini-aplicación CMS como el uso de asp.net MVC 1.0 (voy a actualizar una vez 2.0 se libera). Una vez característica que quiero, que es bastante vital para un CMS, es la capacidad de un administrador para agregar páginas a su sitio.

En esencia, si el administrador quiere añadir una página llamada "Enlaces", yo quiero que sean capaces de hacerlo sin tener que pasar por ninguna de las molestias de la adición de la acción al controlador y la compilación de un nuevo montaje.

Tengo una idea para una solución y yo quiero saber lo que piensa la comunidad.

Creo que debería escribir una clase llamada (para bien de los argumentos llamémoslo UserGeneratedGenericController) que amplía la clase controlador. En esta clase, voy a tener una sola acción que lee un parámetro y redirige a la vista que se corresponde con el parámetro pasado a la acción.

También tendrá que editar el archivo de enrutamiento en el Global.asax.cs

por lo tanto /UserGeneratedGenericController/Links llegará a la misma acción que /UserGeneratedGenericController/News golpeará, pero mostrará los puntos de vista según se desee.

¿Qué dice usted? Estoy interesado en sus comentarios sobre este enfoque y sus sugerencias a otros enfoques.

¿Fue útil?

Solución

Creo que lo que se presenta es el camino a seguir

Otros consejos

¿Quieres tomar el título de la página, y crear una babosa URL única para él, entonces usted quiere ser capaz de cargar el contenido de la base de datos basado en la babosa URL (usando la babosa URL como el ello, en lugar de una Identificación base de datos real).

public ActionResult Index(string UrlSlug) {
  // Get Content For Page {UrlSlug}
}

Por lo que su ruta sería / Páginas / {} UrlSlug y una muestra sería / Páginas / Enlaces. Entonces su acción en el Índice de PagesController sería salirse de la babosa de URL (enlaces) y cargar el contenido apropiado de almacenamiento, y hacer que el contenido dentro de su diseño maestro. Creo que estaba pensando a lo largo de estas líneas, sólo asegúrese de que cuando el usuario añade una página, se crea una URL única para ello. Sustituir los espacios por guiones bajos, eliminar caracteres especiales, etc para crear una clave segura url para utilizar para cargar la información de la página cuando se solicita.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top