gpt4 book ai didi

asp.net-mvc - 如何将复选框绑定(bind)到asp net mvc中的字符串属性

转载 作者:行者123 更新时间:2023-12-03 02:46:41 25 4
gpt4 key购买 nike

我的类中有一些表示 true 或 false 的字段,但它具有字符串值“T”或“F”。

如何将复选框绑定(bind)到这些字段?

最佳答案

您可以在 ASP.Net MVC Razor 中执行此操作

<input type="checkbox" name="someName" value="@Model.SomeValue" 
@(Model.IsChecked == "T" ? "checked='checked'" : "") />

但是,这可能不是您想要的,因为您必须在服务器上进行一些手动工作才能找出“未检查”的值。

默认情况下,只有您选中的值才会发送到服务器。

更新:

Html.CheckBoxHtml.CheckBoxFor 辅助方法都会发出隐藏字段,以确保所有内容都正确绑定(bind)回您的模型。您可以很容易地模仿这种行为。

首先,您需要发出一个隐藏字段,该字段将绑定(bind)到服务器上的模型。

@Html.HiddenFor(model => model.StringBool, new { id = "_stringBool" })

接下来,您将创建一个普通的 Jane 复选框并设置初始状态以反射(reflect)您的模型。

<input type="checkbox" id="myCheckBox" @(Model.StringBool == "T" ? "checked='checked'" : "") />

此复选框的唯一目的是代理隐藏字段之间的值,以便您的模型将自动绑定(bind)到服务器上。这可以通过一些简单的 jQuery 来实现。

$("#myCheckBox").click(function () {
var isChecked = $(this).is(":checked");

$("#_stringBool").val(isChecked ? "T" : "F");
});

现在选中和取消选中该框将相应地设置绑定(bind)隐藏字段的值。当您发布到服务器时,您的值将通过模型绑定(bind)保留。

一些注意事项

这没有考虑验证。更改隐藏字段的值非常容易,因此请确保在服务器端正确验证!

关于asp.net-mvc - 如何将复选框绑定(bind)到asp net mvc中的字符串属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7286788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com