Reputation: 17
I'm working on a razor pages project and I'm having an issue changing the value of my page model when clicking a button. It should toggle the value of IsCreatingCompany with each click. Here is my code:
<div class="col-6 text-end">
<form asp-page-handler="ToggleCreateCompany" method="post">
<button class="btn btn-primary" name="CreateCompanyResult" [email protected]>Add Company</button>
</form>
</div>
@if (Model.IsCreatingCompany)
{
<label>is true</label>
}
else
{
<label>is false</label>
}
public IActionResult OnPostToggleCreateCompany(bool CreateCompanyResult)
{
IsCreatingCompany = !CreateCompanyResult;
return Page();
}
I have a feeling I'm making a small error somewhere, or misunderstanding something. Some things I've tried:
Things I've verified are working:
Please let me know if I need to post any additional code and Thanks for any help!!!
Upvotes: 0
Views: 575
Reputation: 18199
Try to use @Model.IsCreatingCompany.ToString()
to replace @Model.IsCreatingCompany
,so that the data passed to handler will be correct,here is a demo:
cshtml:
<div class="col-6 text-end">
<form asp-page-handler="ToggleCreateCompany" method="post">
<button class="btn btn-primary" name="CreateCompanyResult" [email protected]()>Add Company</button>
</form>
</div>
@if (Model.IsCreatingCompany)
{
<label>is true</label>
}
else
{
<label>is false</label>
}
Upvotes: 1