首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RadioButtonFor不绑定空值

RadioButtonFor不绑定空值
EN

Stack Overflow用户
提问于 2012-09-04 20:54:47
回答 2查看 7K关注 0票数 3

我有这个代码

代码语言:javascript
复制
@Html.RadioButtonFor(model => model.LivStato, 1, Model.LivStato == 1)
@Html.RadioButtonFor(model => model.LivStato, -1, Convert.ToString(Model.LivStato) == string.Empty)

如果Model.LivStato == 1为true,则选中该单选按钮。

我不明白为什么如果Convert.ToString(Model.LivStato) == string.Empty为真,单选按钮就不会被选中

我也试试这个

代码语言:javascript
复制
@Html.RadioButtonFor(model => model.LivStato, -1, !Model.LivStato.HasValue)

但这不管用。

在模型中:

代码语言:javascript
复制
public short? LivStato { get; set; }

有谁可以帮我?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-04 21:16:52

看看HtmlHelper.RadioButtonFor重载:没有人使用第三个布尔型参数作为"check button if value == something“。第三个参数(如果存在)仅用于htmlAttributes。

http://msdn.microsoft.com/en-us/library/ee830415%28v=vs.108%29

如果您的firstLine可以工作,那是因为您使用了1作为第二个参数(Model.LivStato == 1什么也不做)。

您可以尝试(未测试)

代码语言:javascript
复制
@Html.RadioButtonFor(model => model.LivStato, 1)
@Html.RadioButtonFor(model => model.LivStato, -1)

并在您的控制器中将-1更改为null。

票数 3
EN

Stack Overflow用户

发布于 2014-02-27 10:36:07

已更新答案

哦,如果空单选按钮不在列表的第一位,我最初的答案就不起作用。正如@sohtimsso1970所指出的,单选按钮将具有checked属性,该属性通常会使单选按钮即使在值不为null时也被选中,除非在DOM中稍后存在另一个选中的单选按钮,当然,如果真/假绑定的单选按钮低于null绑定的单选按钮,则会有该单选按钮。

考虑到这一点,这里有一个更好的解决方案:

代码语言:javascript
复制
@{
    var dict = new Dictionary<string, object>();
    if (!Model.LivStato.HasValue) { dict.Add("checked", "checked"); }
}
<label>@Html.RadioButtonFor(model => model.LivStato, "", dict) Null</label>
<label>@Html.RadioButtonFor(model => model.LivStato, 1) +1</label>
<label>@Html.RadioButtonFor(model => model.LivStato, -1) -1</label>

无论绑定为null的单选按钮位于DOM上的什么位置,都可以执行此操作,并且还可以呈现正确的HTML。

原始答案:

使用下面的单选按钮将绑定到null

代码语言:javascript
复制
<%: Html.RadioButtonFor(model => model.LivStato, "", new { @checked = !Model.LiveStato.HasValue }) %>

需要checked属性,以便在ViewModel属性为null时正确选中该单选按钮。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12263926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档