禁用MVcContrib.FluentHtml.CheckboxList中的复选框

时间:2010-06-17 14:13:44

标签: mvccontrib fluenthtml

我刚刚开始发现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&lt; ChoiceViewModel&gt;。

这是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”开头,我想禁用复选框

我怎样才能做到这一点?

谢谢, 哈桑

1 个答案:

答案 0 :(得分: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>
<%}%>