2010-09-02 11 views
5

Ésta es una pregunta noob, pero voy a preguntar de todos modos ...con mvc.net es posible compartir una visión entre múltiples acciones

Estoy queriendo crear una página que va a hacer las operaciones básicas CRUD en una lista de los objetos: -display la lista -edit un elemento -create un elemento -delete un elemento

se espera que voy a necesitar una acción para cada una de estas operaciones. Esto es bueno y comprensible. Mi pregunta es sobre las vistas para interactuar con el usuario.

Quiero tener una edición en contexto, por lo que el usuario hace clic en editar y puede editar los detalles del elemento en la lista. En mi comprensión actual, tendré que duplicar una gran parte de la vista entre 'mostrar la lista' y 'editar un elemento'. sin embargo, esto parece ser redundancia innecesaria y hará que las actualizaciones futuras consuman más tiempo ya que tendré que actualizar cada vista.

¿Hay alguna manera más fácil? ¿Estoy en la pista correcta/incorrecta? ¿Algún otro comentario?

Respuesta

6

Sí, absolutamente. Querrá utilizar la sobrecarga de View() que toma una cadena. La cadena es el nombre de la vista a renderizar:

public ActionResult MyAction() 
{ 
    return View("MyViewName"); 
} 
0

Creo que lo que debe considerar es la representación de vistas parciales, que son páginas .ascx similares a UserControls en WebForms. Básicamente son vistas parciales compartidas que puede usar para los mismos propósitos en muchas vistas.

Si observa la plantilla de proyecto predeterminada, puede encontrar ejemplos de elementos como el control de inicio de sesión.

Editar: Y como otros han notado, también puede compartir vistas entre las acciones. Tenía mi propio momento novato allí también. :)

1

El método View() puede tomar el nombre de una vista como parámetro, por lo que puede representar la misma vista desde varias acciones. De forma predeterminada (si no especifica un nombre de vista), el marco utiliza una vista denominada como la acción actual. Ver here for details.

Cuestiones relacionadas