【问题标题】:start a group of radiobuttons unchecked in asp.net mvc在 asp.net mvc 中启动一组未选中的单选按钮
【发布时间】:2011-11-01 07:10:53
【问题描述】:

大家好,

我有一个强类型视图,对于一个 int Rating 属性,我生成了几个单选按钮,如下所示:

@Html.RadioButtonFor(m => m.Rating, 1, new { id = "past_Rating_one"})
@Html.RadioButtonFor(m => m.Rating, 2, new { id = "past_Rating_two"})
@Html.RadioButtonFor(m => m.Rating, 3, new { id = "past_Rating_three"})
@Html.RadioButtonFor(m => m.Rating, 4, new { id = "past_Rating_four"})
@Html.RadioButtonFor(m => m.Rating, 5, new { id = "past_Rating_five"})

当然,我在每个单选按钮后面都有标签,jquery 会喜欢它带有图像和这样的奇迹。

这一切都很好,但是当页面启动时,ID为past_Rating_one的单选按钮已经被选中。我很困惑如何在页面加载时启动所有未选中的单选按钮。

当然,可以使用 jQuery,但我只想使用视图。

我试过了:

@Html.RadioButtonFor(m => m.Rating, 1, new { id = "past_Rating_one", selected="none"})

萤火虫检查表明这是一个属性,但仍然顽固地检查了那个该死的单选按钮(第一个),所以我想我会寻求你的帮助。

【问题讨论】:

    标签: asp.net-mvc radio-button


    【解决方案1】:

    尝试在您的视图模型中将 Rating 设置为可为空的对象,例如:

    int? Rating { get; set; }
    

    整数默认为零,因此在渲染单选按钮时将选择值 0。我知道在您的示例中您没有使用值 0,但我怀疑您在项目中使用了值。否则我想不出选择单选按钮的原因。

    如果 Rating 是一个枚举,同样适用。

    【讨论】:

    • Robin,你提到如果它是一个枚举,那么同样的事情也适用。如果我执行public MyEnum? MyProperty { get; set;},我会收到错误消息。我在默认选中单选按钮列表中的第一件事时遇到了同样的问题,我希望它们在页面加载时都为空白。有任何想法吗?谢谢。
    • @REMESQ 我知道这是旧的,但我使用的是可以为空的枚举,它对我来说非常有效。你遇到了什么错误?
    • @Rob 问题已解决。例如,我可能会使用RatingEnum? Rating,而不是int? Rating
    • 如果我有一个包含 3 个值的枚举,但我只想显示 2 个 rado 按钮,并且当没有选择任何一个时,我希望第一个值形成一个枚举:'Enum X { A,B,C}' B 和 C 的单选按钮,但所有选定的模型属性都不会是值 A
    猜你喜欢
    • 1970-01-01
    • 2015-03-19
    • 2016-04-16
    • 2019-10-04
    • 1970-01-01
    • 2018-01-23
    • 2011-05-18
    • 1970-01-01
    • 2010-12-01
    相关资源
    最近更新 更多