Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

130
Views
¿Es posible asignar el estado marcado al valor de la casilla de verificación actual en forma de navaja sin el método onclick?

Tengo un proyecto de aplicación web ASP.Net Core MVC. Quiero enviar el estado marcado de la casilla de verificación como valor al parámetro relacionado del modelo en el envío del formulario. He visto tantos ejemplos que usan jquery para obtener/establecer el valor de la casilla de verificación a través de métodos onchange.

Lo que me pregunto es si es posible asignar el estado marcado de la casilla de verificación actual al valor de una manera similar al código a continuación (no funciona)

 <input type="checkbox" id="IsActive" name="DTO.IsActive" checked="@Model.IsActive" value="(this.checked)"

Uno de los ejemplos de trabajo más simples que encontré es el siguiente, pero devuelve falso si la casilla de verificación está marcada de forma predeterminada y su estado no cambia.

 <input type="checkbox" id="IsActive" name="DTO.IsActive" checked="@Model.IsActive" onchange="if(this.checked) this.value='true'; else this.value='false';" >

Sé que hay muchas formas de lograr lo que quiero, pero quiero la solución más limpia.

¡Gracias por adelantado!

Editar: La estructura de mi código es la siguiente:

Vista

 @model MyModel <form id="UpdateForm" class="was-validated" method="post" enctype="multipart/form-data" asp-controller="ControllerName" asp-action="Update"> <div class="modal-body"> <div class="form-group"> <input type="text" class="form-control" id="Name" name="DTO.Name" value="@Model.Name" required> <input type="checkbox" id="IsActive" name="DTO.IsActive" checked="@Model.IsActive"> </div> </div> <div class="modal-footer"> <button type="submit" class="btn btn-primary" data-save="modal">Update</button> </div> </form>

Controlador

 public async Task<IActionResult> Update(Guid id, UpdateDto DTO) { ... }

Solución https://www.learnrazorpages.com/razor-pages/forms/checkboxes

En vista

 <input type="checkbox" " id="IsActive" name="DTO.IsActive" checked="@Model.IsActive" value="true">

En el conjunto de objetos DTO por defecto

 public bool IsActive { get; set; } = false;
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Sí, puede hacerlo usando una instrucción de afeitar en línea @(). Se vería así:

 <input type="checkbox" id="IsActive" name="DTO.IsActive" @(Model.IsActive ? "checked" : "") />

también podrías usar el asistente Checkbox

 @Html.CheckBoxFor(model => model.IsActive )
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!