I have a really simple question. I have a form where if you check the checkbox and submit the form it changes the value to true (it's false by default). At the moment it doesn't work for me. So I am asking how should I do it?
Here's a few things how I do them. There's a value "IsConfirmed"
public virtual bool IsConfirmed {get;set;}
And I have a simple HttpPost method.
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Edit([Bind(Include = "UserName,Id,Email")] ApplicationUser formuser, string id, string RoleId)
{
var role = new ApplicationUser() { Id = formuser.Id, Email = formuser.Email, IsConfirmed = formuser.IsConfirmed };
await UserManager.UpdateAsync(role);
return RedirectToAction("Index");
}
Here's my view
@model CPO.Models.ApplicationUser
@{
ViewBag.Title = "Edit";
}
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary()
@Html.HiddenFor(model => model.Id)
<table class="table table-bordered table-hover">
<tr>
<th>
@Html.DisplayNameFor(model => model.Email)
</th>
<th>
@Html.DisplayNameFor(model => model.UserName)
</th>
<th>
@Html.DisplayNameFor(model => model.FirstName)
</th>
<th>
@Html.DisplayNameFor(model => model.LastName)
</th>
</tr>
<tr>
<td>
@Html.HiddenFor(model => model.Email)
@Html.DisplayFor(model => model.Email)
@Html.ValidationMessageFor(m => m.Email, "", new { @class = "text-danger" })
</td>
<td>
@Html.HiddenFor(model => model.UserName)
@Html.DisplayFor(model => model.UserName)
@Html.ValidationMessageFor(m => m.UserName, "", new { @class = "text-danger" })
</td>
<td>
@Html.HiddenFor(model => model.FirstName)
@Html.DisplayFor(model => model.FirstName)
</td>
<td>
@Html.HiddenFor(model => model.LastName)
@Html.DisplayFor(model => model.LastName)
</td>
<td>
@Html.DropDownList("RoleId", "Select Role")
</td>
<td>
@Html.EditorFor(model => model.IsConfirmed)
</td>
<td>
<input type="submit" value="Edit" class="btn btn-default"/>
</td>
</tr>
</table>
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
Weirdly but it doesn't work and I have no idea why, maybe I missed to define something, but the model get's it's value as false even though it is checked.
Any help is highly appreciated, If I made mistakes please be kind to write I made them in the comments and I'll fix them
modelobject received by the controller action? What is in the result ofmodel.ToDomainModel()? What is in thecommissionobject?model.IsConfirmedwill betrueif the checkbox is checked based on the code you have shown. Are you referring to the value ofcommission.IsConfirmed?