al pasar una colección a EditorFor (), genera nombres no válidos para los elementos de entrada

Tengo un BookCreateModel que consiste en la información del plano del libro, como Título, Publicación Año y etc., más una colección de autores del libro (tipo complejo):

public class BookCreateModel
{
    public string Title { get; set; }
    public int Year { get; set; }
    public IList<AuthorEntryModel> Authors { get; set; }
}

public class AuthorEntryModel
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

en la vista CreateBook que he usadoEditorFor ayudante

@Html.EditorFor(m => m.Authors, "AuthorSelector")
Edit1:

y la plantilla de AuthorSelector es la siguiente:

<div class="ptr_authors_wrapper">
    @for (int i = 0; i < Model.Count; i++)
    {
       <div class="ptr_author_line" data-line-index="@i">
        @Html.TextBoxFor(o => o[i].FirstName)
        @Html.TextBoxFor(o => o[i].LastName)
       </div>
    }
</div>
<script>
     ...
</script>

laAuthorSelector la plantilla contiene algunas etiquetas de envoltorio que deben conocer el índice de cada elemento renderizado más algunos javascript que manejan las interacciones de la entrada del niño y deben procesarse una vez (dentro delAuthorSelector plantilla), por lo que no es posible deshacerse del bucle for / o la plantilla AuthorSelector.

Ahora el problema es Editor, por ser un poco extraño y generar nombres de entrada como este:

<input id="Authors__0__FirstName" name="Authors.[0].FirstName" type="text" value="" />
<input id="Authors__0__LastName" name="Authors.[0].LastName" type="text" value="" />

Como se puede ver en lugar de generar nombres comoAuthors[0].FirstName agrega un punto adicional que hace que el modelo de carpeta predeterminado no pueda analizar los datos publicados.

alguna idea ?

Gracias !

Respuestas a la pregunta(6)

Su respuesta a la pregunta