2012-03-28 24 views
5

Đây là nhìn của tôi:Nhận Id của Checked Hộp kiểm trong 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> 
    } 

Và html Dom là như sau:

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

Vì vậy, tôi cần phải được kiểm tra Id. Khi tôi cố gắng để có được giá trị của bộ sưu tập hình thức, đó quay trở lại tôi một mảng chuỗi on bởi chiều dài của hộp kiểm tra lần cuối:

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

gợi ý của bạn là gì?

+0

Kể từ khi trình duyệt sẽ gửi tên của đầu vào (actionChk), bởi vì họ là tất cả cùng một tên, bạn sẽ nhận được mảng. Tại sao không mangle tên là actionChk17, actionChk18 etc? – StuartLC

Trả lời

9

Bạn nên đặt các giá trị trong tham số 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"> 

Sau đó, từ bộ điều khiển, bạn nên có một mảng của Ids tên actionChk

+0

Câu trả lời đơn giản và hữu ích. – Armaan

Các vấn đề liên quan