Cómo usar los valores de los campos ocultos desde la vista al controlador en asp.net mvc 3

Tengo que pasar valores archivados ocultos a la acción del controlador. Así que lo he intentado de la siguiente manera, pero estoy obteniendo valores nulos.

He intentado los dos métodos, es decir, el concepto de colección y el modelo de vista.

Controlador

public ActionResult MapIcon()
{
    Hidden hd = new Hidden();
    return View(hd);
}

[HttpPost]
public ActionResult MapIcon(Hidden hidden)
{
    var value=hidden.hiddevalue;//null
    FormCollection col = new FormCollection();
    var value = col["hidden1"];
  //  string value = mycontroler.ControlName;

    return View(hidden);
}

Ver

@model SVGImageUpload.Models.Hidden
Razor view:@using (Html.BeginForm(new { id = "postform" }))
{
    <input type="hidden" id="" value="7" name="hidden1" />
    <input type="hidden" id="" value="7"  name="hidden2"/>

    <input type="submit" value="Match"/>
}

Modelo de vista

public class Hidden
{
  public string hiddevalue { get; set; }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta