Es posible que desee considerar el uso de un editor de plantillas en lugar de volver a utilizar el mismo punto de vista. Una plantilla de editor es una vista parcial que se utiliza para editar y/o insertar datos.
Esto requeriría vistas separadas, pero el código sería mínimo. La mayor parte del código estaría en la plantilla que se reutilizaría para las acciones Agregar y Editar.
Después create your template, su Añadir vista se vería así (Razor):
@model Models.Foo
<h2>Add</h2>
<p>
@Html.EditorFor(model => model) // equivalent to EditorForModel()
</p>
Y su vista de edición se vería así:
@model Models.Foo
<h2>Edit</h2>
<p>
@Html.EditorFor(model => model) // equivalent to EditorForModel()
</p>
Esto es exactamente lo que estaba buscando. Gracias. – David