0

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

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

但是,当这样处理一个复选框时:

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

我得到错误:

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

我理解这个错误,我只是不知道如何解决它来显示我在{ }.

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

复选框代码:

 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; }
4

1 回答 1

0

您可能想尝试以下方法:

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

我不是 100% 确定数据是如何与您的业务/视图逻辑相关的,但我认为这就是您所追求的。

于 2012-08-24T01:06:28.527 回答