我有一张记录表,显示用户完成的活动
我还有一个与每条记录相关联的复选框,用户可以通过该复选框一次选择多个活动
我想要那些用户选中复选框的记录的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();
}
有人可以帮助我吗
答案 0 :(得分:0)
在回发操作中,替换
[HttpPost]
public ActionResult DisplayList(ExhibitionViewModel model,FormCollection form)
满足您的需求:
[HttpPost]
public ActionResult DisplayList(ExhibitionViewModel model)
或
[HttpPost]
public ActionResult DisplayList(FormCollection form)
或根据您要查找的内容进行一些自定义绑定。但这两个是最明显的回发行动。
这背后的理论是:ASP.NET MVC – Think Before You Bind
修改强>
注意事项:
你的观点在顶部没有任何模型,所以不确定它是否甚至假设将其发回,也许这就是为什么它是null?
尝试查看此内容:您的视图模型类名为PublishViewModule
,但您在控制器中的回发操作中接受ExhibitionViewModele
。这是问题吗?
希望这有帮助
答案 1 :(得分:0)