0
我已经创建了一个ParentModel,因为我想在这里面使用两个模型,以便我可以在MVC中使用相同的视图。父模型有2个属性一个来添加空
当我获得初始加载数据时,父模型中定义的两个属性都正确填充。 但是,当我尝试添加新数据时,我将第二个属性视为null。 这里是我的代码:
public class UserModel
{
public User User { get; set; }
public IEnumerable<RolesModel> rolesModel { get; set; }
}
[HttpPost]
[ValidateAntiForgeryToken()]
public ActionResult Add(UserModel userDetails)
{
try
{
if (ModelState.IsValid)
{
userDetails.User.FullName = userDetails.User.FirstName + " " + userDetails.User.MiddleName + " " + userDetails.User.LastName;
userDetails.User.CreatedDate = DateTime.Now;
_userService.Insert(userDetails.User);
_unitOfWorkAsync.SaveChanges();
foreach (RolesModel rolesModel in userDetails.rolesModel)
{
// Here userdetails.rolesmodel is null
}
}
查看:
@model Axp.Gcst.Gps.Web.Areas.Admin.Models.UserModel
@using (Html.BeginForm("Add", "user", FormMethod.Post, new { @class = "form-horizontal" }))
{
@Html.AntiForgeryToken()
@Html.Partial("_UserDetails", Model)
@foreach (var itemRole in Model.rolesModel)
{
if (itemRole.Role.RoleGroupId == item.RoleGroupId)
{
<div class="col-md-12 col-sm-12 col-xs-12 panel_cell">
@Html.CheckBoxFor(model => itemRole.isSelected, new { @class = "panel_checkbox" })
@Html.DisplayFor(model => itemRole.Role.Name)
</div>
@Html.HiddenFor(model=>itemRole.Role.RoleId)
}
}
}
Thanks.if(型号=> Model.rolesModel [I] .Role.RoleGroupId == tblTestList [ j] .RoleGroupId)thi sline给出错误“无法将lambda表达式转换为类型'bool',因为它不是委托类型” – user662285
model =>模型应该是model => model.rolesModel –
同样的错误伙计.. – user662285