ユーザーが行ったアクティビティを示す記録表があります
また、ユーザーが一度に複数のアクティビティを選択できるように、各レコードに関連付けられたチェック ボックスがあります。
ユーザーがチェックボックスを選択したレコードのIDが欲しい
複数のレコードを表示できますが、コントローラーのポスト関数で値を取得できません
ここに私のコードがあります
public ActionResult DisplayList()
{
//do activities to fetch record from database
return View(modelList);//modelList is a viewmodel's Icollection list
}
見る:-
@using (Html.BeginForm())
{
@Html.ValidationSummary(false)
<div style=" width:900px; height:400px;">
<div class="textcontent"><b>List of activities</b></div>
<div class="table" style="vertical-align:middle;">
<div class="row">
<div class="cell" style="width:auto;">SrNo</div>
<div class="cell" style="width:auto;">Select Activity</div>
<div class="cell" style="width:auto;">Learner Name</div>
</div>
@foreach (var item in Model.Select((x, i) => new { Data = x, Index = i + 1 }))
{
<div class="row1">
<div class="cell" style="width:auto;">@item.Index</div>
<div class="cell" style="width:auto;"> <input type="checkbox" name="chkexi" id="selected" onclick="checked()"/></div>
<div class="cell" style="width:auto;">@Html.DisplayFor(modelItem => item.Data.persn.FirstName)</div>
</div>
}
</div>
<div class="table">
<div class="row1">
<div class="cell">
<center>
<button type="submit">Submit</button>//on click of this my controller function is called
</center>
</div>
</div>
</div>
<script>
function checked() {
if (document.getElementById('selected').checked) {
document.getElementById('chkstatus') = true;
}
</script>
}
私のビューモデル:::
public class PublishViewModule
{
public virtual myclass obj { get; set; }
public virtual bool chkstatus { get; set; }
}
[HttpPost]
public ActionResult DisplayList(ExhibitionViewModel model,FormCollection form)
{
//here i get model as null
return View();
}
誰かがこれで私を助けてくれますか