用戶模型剃刀複選框的型號列表
public class UserModel
{
public int UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Location { get; set; }
public IEnumerable<UserPets> UserPets { get; set; }
}
用戶寵物模式
public class UserPetsModel
{
public PetModel Pet{ get; set; }
public bool UserHasPet { get; set; }
}
使用這2種型號,我創建編輯頁面,用戶可以進來和編輯哪些寵物他們有。
爲了讓他們說出他們有哪些寵物,我正在嘗試使用複選框。
編輯頁面
@model Models.UserModel
@using (Html.BeginForm())
{
<div class="form-group">
@Html.LabelFor(model => model.FirstName)
@Model.FirstName
</div>
@foreach (var userPets in Model.UserPets)
{
@Model.Pet.AnimalName
<div>
@Html.CheckBoxFor(u => userPets .UserHasPet)
</div>
}
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
}
我遇到的問題是試圖將UserModel
映射回控制器動作時。當我按下保存按鈕時,UserModel
上的所有內容都被映射回控制器,除了UserPetsModels
,我相信這是由於使用了foreach。
是否有另一種方法可以在不使用foreach或for循環的情況下爲每個UserPetModel
顯示一個複選框。
改變它爲循環,因爲模型聯編程序需要索引列表 –