¿Cómo hago un formulario de edición para un objeto con una propiedad de lista en ASP.NET MVC 4 con Razor?

Tengo una página de edición para mi aplicación MVC, usando Razor.

Tengo un modelo como:

public class MyModelObject
{
    public int Id { get; set; }

    public string Name { get; set; }

    public string Description { get; set; }

    public List<MyOtherModelObject> OtherModelObjects { get; set; }
}

Y MyOtherModelObject se parece a:

public class MyOtherModelObject
{
    public string Name { get; set; }

    public string Description { get; set; }
}

Estoy haciendo la página de edición para MyModelObject. Necesito una forma de agregar espacio al formulario en la página Editar de MyModelObject para que el usuario cree / agregue tantas instancias de MyOtherModelObject como el usuario desee a la Lista de otros objetos de modelo.

Estoy pensando que el usuario puede presionar un botón, que hará que ajax realice otra acción que devuelva una Vista parcial de los elementos del formulario (sin etiqueta de formulario, ya que está destinada a formar parte del formulario en mi página de edición). Cuando el usuario haya agregado todos los MyOtherModelObjects que desee y haya completado los datos, debería poder guardar sus ediciones en el MyModelObject existente, que será HttpPost en la acción Editar y, con suerte, todos los MyOtherModelObjects estarán en la lista correcta.

También necesito que el usuario pueda reordenar los artículos una vez que los haya agregado.

¿Alguien sabe cómo hacer que esto funcione? ¿Se ha implementado un proyecto de muestra o una guía de muestra en línea con esta solución?

Respuestas a la pregunta(2)

Su respuesta a la pregunta