我可以在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; }
答案 0 :(得分:0)
您可能想要尝试以下内容:
@if (Model.Step.CheckBox1.Contains(Step.Enum2.Choice1))
{
....
}
我不是100%确定数据的结构与业务/视图逻辑的关系,但我认为这就是你所追求的变化。