0

我刚刚开始发现 FluentHml,我被 CheckBoxList Helper 困住了。

这是代码

<ul>
      <%=this.CheckBoxList(m=>m.Filter)
                .Options(criteria.Choices, x => x.Code, x => x.DisplayText)
                .Selected(Model.Filter)
                .Label(criteria.Label).ItemFormat("<li> {0} </li>")

      %>
</ul>

因此,我有一个基于“criteria.Choices”的复选框列表,其类型为 List<ChoiceViewModel>。

这是 ChoiceViewModel 的代码

public class ChoiceViewModel
{
    // Some stuff
    public string Code { get{ return _code; } }
    public string Label { get { return _label; }}
    public string DisplayText { get { return _displayText;}
    }
}

我的问题是:我想在某个条件下禁用复选框。

假设如果代码不以“A”开头,我想禁用该复选框

我怎样才能做到这一点?

谢谢,哈桑

4

1 回答 1

0

CheckboxList 不提供。您可以在循环中使用 CheckBox 来完成。像这样的东西:

<label>criteria.Label</label> 
<%foreach (var choice in criteria.Choices) {%>
   <li>
      <%=this.CheckBox(m => m.Filter)
         .Value(choice.Code)
         .Checked(choice == Model.Filter)
         .Label(choice.Code.DisplayText)
         .Disabled(choice.Code.StartsWith("A")%>
   </li>
<%}%>
于 2010-08-05T15:04:58.730 回答