我正在使用html
复选框控件,并将其与模型数据绑定,但是当我运行程序时,checkbox
无论是否检查,我都将false传递为值。
最后在Google搜索时,我发现了一个代码片段,其中显示了如何checkbox
使用模型数据。
我的HTML:
<input id="IsApproved" type="checkbox" value="true" name="IsApproved">
<input type="hidden" value="false" name="IsApproved">
我需要怎么做才能为具有相同名称的复选框创建一个隐藏字段,但是复选框值我需要设置为true,而隐藏字段值我需要设置为false。它的工作原理,但实际上我不明白它是如何工作的?
我只想知道在选中或不选中复选框的情况下,true和false会如何传递给操作方法。
选中复选框时,复选框数据正在传递,但是未选中时,则隐藏字段数据正在传递....只是不了解该技术。我是新手MVC
,我在Google上搜索以了解其工作原理,但未找到任何结果。因此,请有人告诉我如何true/false is passing
选中复选框。
这就是带有复选框的内容:只有选中它们,它们才会在HTML请求中传递。因此,实际上,我建议您使用两个单选按钮来进行尝试(从风格上来说是正确的)。
您绝对可以使用复选框,但这并不意味着您应该这样做,我认为您经常会遇到麻烦。我更喜欢将它们用于存在用户可以选择0或多个项目的列表,例如某人想要注册的邮件列表(零个或多个:无,营销,销售等)。当您有两个或多个互斥选项时,单选按钮最适合。同样,使用单选按钮,总是随请求传递一些信息。因此,让我们开始吧:
<form action="">
<input type="radio" name="IsApproved" value="true">Approved <br />
<input type="radio" name="IsApproved" value="false">Unapproved
</form>
然后,您想转到操作方法:
[HttpPost]
public ActionResult MyPostAction(bool IsApproved)
{
/*your logic here */
}
因此,当用户提交表单时,IsApproved将绑定到bool变量,而您不必担心是否已选中该复选框,或者处理隐藏字段。如果布尔是模型中的一个属性,它将自动绑定到该属性:
public class User
{
public int UserID {get; set;}
public string Name {get;set;}
public bool IsApproved {get;set;}
}
和动作方法:
[HttpPost]
public ActionResult MyPostAction(User user)
{
/*your logic here */
}
编辑
好的,所以我快速阅读了该问题,但没有意识到您对这些东西的工作方式更感兴趣,并且没有在寻找实现。当用户向MVC框架提交请求并且接收动作中有参数时,模型绑定程序将接收原始请求,并尝试将其映射到在action方法参数中指定的对象。所有类型的Web控件(复选框,单选框,文本框等)都有默认实现。请查看此页面以获取更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句