Obtención de los valores de la casilla de verificación de formcollection en asp.net mvc

He visto algunos temas aquí, pero todavía tengo problemas para obtener valores de las casillas de verificación.

Parte del modelo:

public Dictionary<Language, bool> TargetLanguages { get; set; }

Parte de la vista:

    <div class="editor-label">
        <label for="TargetLanguages">select target languages</label>
    </div>
    <div class="editor-field">
        <form>
            @foreach (var item in Model.TargetLanguages)
            {                    
                @Html.CheckBox("TargetLanguages["+item.Key.Name+"]", item.Value)
                @item.Key.Name
            }
        </form>
    </div>

Parte del controlador:

    [HttpPost, ActionName("AddDictionary")]
    public ActionResult AddDictionary(FormCollection collection)
    {
     ...
    }

Y el problema es que no obtengo ningún rastro de TargetLanguages ​​en mi FormCollection. Intenté CheckBoxFor pero no fue de ayuda. Intenté escribir la casilla de verificación manualmente también.

EDITADO: Bueno, acabo de notar dónde estaba el problema. Tengo marcadores desordenados y esa fue la razón por la que no puedo obtener datos de FormCollection.

Respuestas a la pregunta(2)

Su respuesta a la pregunta