gpt4 book ai didi

asp.net-mvc - Asp.Net Mvc 2 复选框在模型中始终为假

转载 作者:行者123 更新时间:2023-12-03 12:28:50 24 4
gpt4 key购买 nike

我有一个这样的复选框:

<%= Html.CheckBoxFor(x => x.IsSendingQualitySurvey) %>/>

检查复选框并提交时,我得到典型的 2 个表单值:
IsSendingQualitySurvey: true
IsSendingQualitySurvey: false

这对于 mvc modelbinder 处理复选框的方式是完全有效的。

然后在 Controller Action 中:
[HttpPost]
public ActionResult Edit(Guid id, TicketEditViewModel ticketEditViewModel)
ticketEditViewModel.IsSendingQualitySurvey (一个普通的 bool 值)总是假的。

我没有任何自定义模型绑定(bind)器,它可以在其他地方使用。
奇怪的是,很久以前我在另一个 View 中遇到了同样的问题,我不得不手动创建输入,看起来像这样:
<input type="checkbox" value="true" name="<%=Html.NameFor(x => x.IsRequestingVisit) %>" id="<%=Html.NameFor(x => x.IsRequestingVisit) %>" />

这行得通,但是当我将完全相同的内容复制到另一个 View 时,该值仍然始终为 false。

问题在哪里?

谢谢。

最佳答案

编辑弄错了棍子……对不起

您是否尝试过从 post 数据中获取原始值,如下所示:

在 Controller 中:

[HttpPost]
public ActionResult Edit(Guid id, TicketEditViewModel ticketEditViewModel,
FormCollection fc) {

if(fc["IsSendingQualitySurvey"].Contains("true")) {
//Do something.
}
}

在 View 中:
<%= Html.CheckBoxFor(model => model.IsSendingQualitySurvey) %>

希望这可以帮助..

关于asp.net-mvc - Asp.Net Mvc 2 复选框在模型中始终为假,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8898771/

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