在 ASP.NET MVC 4 中获取复选框值

编程入门 行业动态 更新时间:2024-10-27 12:41:31
本文介绍了在 ASP.NET MVC 4 中获取复选框值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在开发一个 ASP.NET MVC 4 应用程序.这个应用程序有一个基本的形式.我的表单模型如下所示:

I'm working on an ASP.NET MVC 4 app. This app has a basic form. The model for my form looks like the following:

public class MyModel { public string Name { get; set; } public bool Remember { get; set; } }

在我的表单中,我有以下 HTML.

In my form, I have the following HTML.

<input id="Name" name="Name" type="text" value="@Model.Name" /> <input id="Remember" name="Remember" type="checkbox" value="@Model.Remember" /> <label for="Remember">&nbsp;Remember Me?</label>

当我发布表单时,模型中的记住值始终为假.但是,模型中的 Name 属性有一个值.我已经通过在以下设置断点对此进行了测试:

When I post the form, the Remember value in the model is always false. However, the Name property in the model has a value. I've tested this by setting a breakpoint in the following:

[HttpPost] public ActionResult MyAction(MyModel model) { Console.WriteLine(model.Remember.ToString()); }

我想不通.为什么未设置 Checkbox 值?

I can't figure it out. Why isn't the Checkbox value getting set?

推荐答案

@Html.EditorFor(x => x.Remember)

将产生:

<input id="Remember" type="checkbox" value="true" name="Remember" /> <input type="hidden" value="false" name="Remember" />

它是如何工作的:

  • 如果 checkbox 保持未选中状态,则表单仅提交 hidden 值 (false)
  • 如果选中,则表单提交两个字段(false 和 true)和 MVC 集true 表示模型的 bool 属性
  • If checkbox remains unchecked, the form submits only the hidden value (false)
  • If checked, then the form submits two fields (false and true) and MVC sets true for the model's bool property

<input id="Remember" name="Remember" type="checkbox" value="@Model.Remember"/>

如果选中,这将始终发送默认值.

This will always send the default value, if checked.

更多推荐

在 ASP.NET MVC 4 中获取复选框值

本文发布于:2023-10-12 01:38:11,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1483396.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:复选框   ASP   NET   MVC

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!