2010-06-17 3 views
0

Я только что начал обнаруживать FluentHml, и я застрял с помощником CheckBoxList.Отключить флажок в MVcContrib.FluentHtml.CheckboxList

Вот код

<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> 

Итак, у меня есть CheckBoxList, основанный на "criteria.Choices", который набирается в виде списка <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;} 
    } 
} 

И моя проблема: Я хочу, чтобы отключить флажок при условии.

Допустим, что если код не начинается с «А», я хочу, чтобы отключить флажок

Как я могу добиться этого?

Спасибо, Хасан

ответ

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> 
<%}%>