2012-03-28 8 views
5

Ésta es Mi Vista:Obtener identificadores de casillas de verificación registramos en MVC3

@foreach(var action in Model.Category.Actions) { 
<div class="action" style="margin-right: 30px;"> 
    <input type="checkbox" class="chk-act" id="@action.Id" name="actionChk" /> 
    <text>@action.Text</text> 
</div> 
    } 

Y HTML DOM es como los siguientes:

<input type="checkbox" class="chk-act" id="17" name="actionChk"> 
<input type="checkbox" class="chk-act" id="18" name="actionChk"> 
<input type="checkbox" class="chk-act" id="19" name="actionChk"> 

Así que necesita para obtener identificaciones comprobado. Cuando trato de obtener los valores de la colección forma, que me devuelve una matriz de cadena de on por la longitud de casillas controladas:

[HttpPost] 
public ActionResult Index(FormCollection collection) { 
    var actions = collection.GetValues("actionChk"); 
return View(); 
} 

¿cuál es tu sugerencia?

+0

Dado que el navegador va a publicar el nombre de la entrada (actionChk), porque todos tienen el mismo nombre, obtendrás la matriz. ¿Por qué no destrozar el nombre para que sea actionChk17, actionChk18, etc.? – StuartLC

Respuesta

9

usted debe poner los valores en el parámetro value

<input type="checkbox" class="chk-act" id="17" value="17" name="actionChk"> 
<input type="checkbox" class="chk-act" id="18" value="18" name="actionChk"> 
<input type="checkbox" class="chk-act" id="19" value="19" name="actionChk"> 

Entonces, desde el controlador, usted debe tener una serie de Ids llamado actionChk

+0

Respuesta simple y útil. – Armaan

Cuestiones relacionadas