can somebody help me?
I have a model:
public class EditUserVM
{
public string Role {get;set;}
public IEnumerable<SelectListItem> AllRoles { get; set; }
}
I have a controller:
public class AdminController : Controller
{
// GET: Admin/Admin/EditUser/id
[HttpGet]
public ActionResult EditUser(string id)
{
ApplicationUser user = UserManager.FindById(id);
EditUserVM model;
//model initialization
return View(model);
}
// POST: Admin/Admin/EditUser
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> EditUser(EditUserVM model)
{
if (!ModelState.IsValid)
{
return View(model);
}
//code
return View(model);
}
}
And I have a view:
@model EditUserVM
@using (Html.BeginForm())
{
<div class="form-group">
@Html.LabelFor(model => model.Role, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("Role", Model.AllRoles, new { @class= "btn btn-light"})
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-success" />
</div>
</div>
}
But when I click on the save button, then in the post controller action I don’t get model.AllRoles
I mean, that model.AllRoles == null
.
How can I get these values?