EditorTemplate para Lista de tipos complexos retorna nulo, enquanto EditorTemplate para seus elementos funciona bem

Tenho uma visualização na qual o usuário pode escolher qualquer número de clubes selecionando checkboxex. Os clubes são uma propriedade do modelo principal com o tipo List<ClubModel>. Durante a refatoração, começo com isso:

@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>
}

Isso funciona bem: o modelo é retornado com uma propriedade Clubs preenchid

Agora eu tiro o<td> e mova-as para um 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>
}

Isto ainda funciona (modelo não mostrado

gora, também quero mover o loop para um EditorTemplate:

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

Crio devidamente um EditorTemplate chamado '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>

Isso mostra corretamente os clubes com caixas de seleção para a propriedade IsAvailable, mas agora ao postar a propriedade Clubs do modelo é nula!

Onde eu estou errando

EDIT: Tentei implementar a resposta do Cymen usando:

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

ou especificando o template do elemento ao passar em uma lista desses elementos. No entanto, sou recebido por uma exceção: System.InvalidOperationException não foi tratado pelo código do usuário Message = O item de modelo passado no dicionário é do tipo 'System.Collections.Generic.List`1 [InvallersManagementMVC3.ViewModels.ClubModel]', mas este dicionário requer um item de modelo do tipo 'InvallersManagementMVC3.ViewModels.ClubModel'.

questionAnswers(2)

yourAnswerToTheQuestion