ASP MVC / Sharp-Architecture principiante: ¿cómo las acciones obtienen entidades de dominio como entradas?

StackOverflow https://stackoverflow.com/questions/1418271

Pregunta

Estoy probando una arquitectura nítida (y ASP.NET MVC) para un nuevo proyecto después de estar al margen de esa comunidad por un tiempo y estoy un poco confundido. Siguiendo la generación de plantilla de entidad estándar, creé un mensaje de clase y puedo enumerarlos, crearlos, editarlos y eliminarlos.

Estoy mirando la acción Editar (Mensaje) y simplemente no puedo entender cómo puedo obtener un tipo de mensaje de entrada. Hace clic en btnSave, que envía el formulario a Messages / Edit? Id = 1 y luego ¿qué sucede? ¿Es esta una convención definida en alguna parte? Si es así, ¿dónde?

¿Fue útil?

Solución

El archivador de modelo predeterminado está haciendo el trabajo por usted. Se refleja en la acción del controlador, trata de renovar los tipos del objeto en los argumentos que encontró a través de la reflexión, luego lee la colección de formularios e intenta hacer un análisis para que las claves de la colección de formularios coincidan con los valores apropiados en el objeto recién actualizado.

Digo análisis porque es posible representar objetos que no son completamente planos en las vistas, y el archivador de modelo predeterminado a menudo puede hacerlos bien. Aunque no he hecho esto, ya que no tengo un buen caso de uso, es posible pasar varios objetos y hacer que el aglutinante del modelo 'lo obtenga'. Si no, puede que no sea demasiado horrible escribir uno que pueda.

Otros consejos

Creo que cuando usa una vista fuertemente tipada, el marco automáticamente new muestra un objeto del tipo correcto para usted y lo pasa a la acción del controlador, inspeccionando todas las entradas del formulario y usando un poco de reflexión para llenar las propiedades correspondientes.

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