2012-03-28 20 views
5

Jest to moim zdaniem:Uzyskaj identyfikatory Sprawdzone wyboru w 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> 
    } 

i HTML Dom jest jak poniższych:

<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"> 

Więc muszę dostać sprawdzone IDS. Kiedy próbuję uzyskać wartości autorem kolekcji Form, że wróciła mi tablicę ciąg on od długości sprawdzanych wyboru:

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

jaka jest twoja propozycja?

+0

Ponieważ przeglądarka pisać nazwę wejściowego (actionChk) ponieważ wszystkie są takie same, otrzymasz tablicę. Czemu nie zmienić nazwy na actionChk17, actionChk18 itd? – StuartLC

Odpowiedz

9

Należy umieścić wartości w parametrze 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"> 

Następnie ze sterownika, należy mieć tablicę Ids nazwie actionChk

+0

Prosta i użyteczna odpowiedź. – Armaan

Powiązane problemy