Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

131
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda