EditorTemplate para Lista de tipos complejos devuelve nulo, mientras que EditorTemplate para sus elementos funciona bien

Tengo una vista en la que el usuario puede elegir cualquier número de clubes seleccionando checkboxex. Los clubes son propiedad del modelo principal con el tipo Lista<ClubModel>. Mientras refactorizo, comienzo con esto:

@using (Html.BeginForm())
{
    <fieldset>
        <legend>Voor Select clubs </legend><br />
    <table>
        <tr>
            @for (var i = 0; i < Model.Clubs.Count; i++)
            {
                if (i % 3 == 0)
                {
                    @:</tr><tr> 
                }
                <td>
                    @Html.HiddenFor(model => model.Clubs[i].ClubID)
                    @Html.EditorFor(model => model.Clubs[i].IsAvailable)
                </td> 
                <td>@Html.DisplayFor(model => model.Clubs[i].ClubName)</td>
             }
        </tr>
     </table>
        <input type="submit" value="Submit" />
    </fieldset>
}

Esto funciona bien: el modelo se devuelve con una propiedad Clubs poblada.

Ahora saco la<td> etiquetas y muévalas a un EditorTemplate:

@using (Html.BeginForm())
{
    <fieldset>
        <legend>Select Clubs </legend><br />
           <table>
        <tr>
            @for (var i = 0; i < Model.Clubs.Count; i++)
            {
                if (i % 3 == 0)
                {
                    @:</tr><tr> 
                }
               @Html.EditorFor(model=>model.Clubs[i])
             }
        </tr>
     </table>
        <input type="submit" value="Submit" />
    </fieldset>
}

Esto todavía funciona (plantilla no mostrada).

Ahora también quiero mover el bucle a una plantilla de editor:

@using (Html.BeginForm())
{
    <fieldset>
        <legend> Select Clubs</legend><br />
        <EditorFor(model=>model.Clubs,"ListOfClubs")
         <input type="submit" value="Submit" />
    </fieldset>
}

Creé debidamente un EditorTemplate llamado 'ListOfClubs':

@using InvallersManagementMVC3.ViewModels;
@model List<StandInClubModel>
@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <table>
        <tr>
            @for (var i = 0; i < Model.Count; i++)
            {
                if (i % 3 == 0)
                {
                    @:</tr><tr> 
                }
                <td>
                    @Html.HiddenFor(model => model[i].ClubID)
                    @Html.EditorFor(model => model[i].IsAvailable)
                </td> 
                <td>@Html.DisplayFor(model => model[i].ClubName)</td>
             }
        </tr>
     </table>
</body>
</html>

Esto muestra correctamente los clubes con casillas de verificación para la propiedad IsAvailable, ¡pero ahora al publicar la propiedad Clubs de la modelo es nula!

¿Dónde me estoy yendo mal?

EDIT: intenté implementar la respuesta de Cymen usando:

@Html.EditorFor(model=>model.Clubs,"ClubModel") 

o especificando la plantilla del elemento al pasar una lista de estos elementos. Sin embargo, recibo una excepción: System.InvalidOperationException no fue manejada por el código de usuario Mensaje = El elemento del modelo pasado al diccionario es del tipo 'System.Collections.Generic.List`1 [InvallersManagementMVC3.ViewModels.ClubModel]', pero este diccionario requiere un elemento modelo del tipo 'InvallersManagementMVC3.ViewModels.ClubModel'.

Respuestas a la pregunta(2)

Su respuesta a la pregunta