3

我正在使用 Razor 视图开发 ASP.Net MVC 3 Web 应用程序。在视图中,我想问用户一个只能有是/否答案的问题,因此,我计划使用两个单选按钮。

我有一个 ViewModel 传递给我的 View,它看起来像这样

public class ViewModelFormImmigration
{
    public int immigrationID { get; set; }
    public int formID { get; set; }

    [Required(ErrorMessage = "Please select Yes or No.")]
    public bool euNational { get; set; }
}

在我的视图中,我有以下代码行来显示是和否选项的单选按钮

@Html.RadioButtonFor(model => model.euNational, true) <text>Yes</text>
@Html.RadioButtonFor(model => model.euNational, false) <text>No</text>

我的问题是,当用户第一次来到这个视图时,我不想选择是或否选项。目前,当我创建我的 ViewModel 的实例(见上文)时,属性euNational默认为false,当 ViewModel 传递给我的视图时,这意味着自动选择了选项 No。

无论如何,当用户第一次看到视图时,默认情况下没有选择任何选项?

谢谢大家的帮助。

4

1 回答 1

9

尝试改变:

[Required(ErrorMessage = "Please select Yes or No.")]
public bool euNational { get; set; }

至:

[Required(ErrorMessage = "Please select Yes or No.")]
public bool? euNational { get; set; }

这样,当您第一次加载没有设置值的视图时,euNational它不会设置为 true 或 false。在它没有设置值的那一刻,它默认为false

于 2012-05-17T14:35:11.870 回答