我想在 mvc 中创建具有特殊功能的用户。当用户要创建时,我想为每个用户分配一些特殊功能,例如特定用户拥有自己的房子,使用复选框选择拥有自己的汽车。特定功能驻留在名为 feature 的不同表中。那么我如何在创建用户时向用户添加这些功能。
我创建了一个名为 ViewModelUserWithFeature 的视图模型
public class ViewModelUserWithFeature
{
public User User { get; set; }
public Feature Feature { get; set; }
public List<Feature> feature { get; set; }
public IEnumerable<User> IUser { get; set; }
private UserDbContext userDbContext;
private IUserService userService;
public void ViewUserList()
{
userService = new RoleService(userDbContext);
IUser = userService.GetUsers();
}
public void AddNewUser(User userAdd)
{
userService = new UserService(userDbContext);
User = userService.AddUser(userAdd);
userService.SaveUser();
}
}
这是我的视图,其中我想要两个文本框和一个功能列表,这些功能将通过复选框进行选择并附加给用户。
@model App.ViewModel.ViewModelUserWithFeature
@using (Html.BeginForm("Create", "User", FormMethod.Post))
{
<div>
@Html.TextBoxFor(m => m.User.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</div>
<div>
@Html.TextBoxFor(m => m.User.UserAddres)
@Html.ValidationMessageFor(m => m.UserAddres)
</div>
@for(int i=0; i < Model.Feature; i++)
{
<div class="cb"><input type="checkbox" name="checkbox"></div>
<div class="per-content">
<label for="1"> Model.Feature.FeatureName</div>
}
<div>
<button type="submit" id="btn-rd">Submit</button>
</div>
}
控制器
[HttpPost]
public ActionResult Create(User user)
{
ViewModelUserWithFeature viewModelUserWithFeature = new ViewModelUserWithFeature(usertDbContext);
if (ModelState.IsValid)
{
viewModelUserWithFeature.AddNewUser(user);
}
return RedirectToAction("Index", viewModelUserWithFeature);
}
无法实现我到目前为止所尝试过的目标。请帮忙。提前致谢。