在我的Razor View中无法使@if子句工作(检查复选框选择)

时间:2012-08-24 00:47:55

标签: asp.net-mvc razor

我可以在Razor视图中使用@if子句来显示HTML的单选按钮:

@if (Model.Step.RadioButton1 == Step.Enum1.Choice1)
{
....
}

然而,当这样处理一个复选框时:

@if (Model.Step.CheckBox1 == Step.Enum2.Choice1)
{
....
}

我收到错误:

  

运算符'=='不能应用于'System.Collections.Generic.List'类型的操作数

我理解错误,我只是不知道如何处理它以显示我在{ }中的HTML。

不确定是否有任何其他代码是relvant,但如果有帮助则会发布。感谢。

CHECKBOX代码:

 public enum Choices
    {
        [Display(Name = "Choice 1")]
        Choice1,
        ....
    }
    public class ChoicesSelectorAttribute : SelectorAttribute
    {
        public override IEnumerable<SelectListItem> GetItems()
        {
            return Selector.GetItemsFromEnum<Choices>();
        }
    }
    [Mandatory(ErrorMessage = "Please select at least one type")]
    [ChoicesSelector(BulkSelectionThreshold = 15)]
    public List<string> CheckBox1 { get; set; }

1 个答案:

答案 0 :(得分:0)

您可能想要尝试以下内容:

@if (Model.Step.CheckBox1.Contains(Step.Enum2.Choice1))
{
....
}

我不是100%确定数据的结构与业务/视图逻辑的关系,但我认为这就是你所追求的变化。