4
我已经强类型视图,示出数据从回传复选框强类型视图
ViewModel
public class GoldSetnUsers
{
bool Public { get; set; }
public List<GSUsers> gsUsers { get; set; }
public GoldSetnUsers()
{
UsersContext _dbm = new UsersContext();
this.gsUsers = _dbm.UserProfiles.Select(n => new GSUsers { UserName = n.UserName, isEditor = false, isReviewer = false }).ToList();
}
public class GSUsers
{
public string UserName { get; set; }
public bool isEditor { get; set; }
public bool isReviewer { get; set; }
}
}
控制器HTTPGET方法显示该视图
问题是,后回模型返回所有行复选框为false。尽管如此,表格外的复选框Public也会返回正确的回传值。
控制器回传码
[HttpPost]
public ActionResult Create(GoldSetnUsers newGS)
{
if (ModelState.IsValid)
{ // newGS gets me value
}
}
查看
@model mvc2db.Models.GoldSetnUsers
@using BootstrapSupport;
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
@Html.BeginControlGroupFor(model=>model.Public)
@Html.LabelFor(model => model.Public,new {@class="control-label"})
<div class="controls">
@Html.EditorFor(model => model.Public,new {@class="input-xlarge"})
@Html.ValidationMessageFor(model => model.Public,null,new{@class="help-inline"})
</div>
<div class="controls">
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Reviewer</th>
<th>Editor</th>
</thead>
<tbody>
@foreach (var item in Model.gsUsers) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.UserName)
</td>
<td>
@Html.EditorFor(modelItem => item.isEditor)
</td>
<td>
@Html.EditorFor(modelItem => item.isReviewer)
</td>
</tr>
}
</tbody>
</table></div>
@Html.EndControlGroup()
<div class="form-actions">
<button type="submit" class="btn btn-primary">Save changes</button>
<button class="btn">Cancel</button>
</div>
</fieldset>
}
解决,谢谢。下面是代码 @for(INT I = 0;我 @ Html.EditorFor(型号=> model.gsUsers [I] .isEditor)* @ @ Html.EditorFor(型号=> model.gsUsers [I] .isReviewer) } –
user219628
其他帮助文章/对这个问题 帖http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx http://stackoverflow.com/questions/16070291/select-all-tr-of-a- table-and-send-it-the-controller-using-checkbox-in-mvc-4?rq = 1 http://stackoverflow.com/questions/17037858/how-to-pass-ienumerable-list-到控制器的功能于MVC-包括-复选框状态?RQ = 1 – user219628