Как преобразовать строковое значение в HTML-флажок для логического? - PullRequest
1 голос
/ 25 мая 2011

У меня есть группа флажков, где она имеет три разных значения.сохранено и не сохранено, является логическим значением, а «ожидание» является строковым значением.я передаю строковое значение в чек бок.У меня есть ошибка, которая говорит, что не может преобразовать bool в строку ...

Статус

            <div class="field forCheckbox">
                <%:Html.CheckBoxFor(model => model.Stored)%>
                <%:Html.LabelFor(model => model.Stored)%>
            </div>



            <div class="field forCheckbox">
                <%:Html.CheckBoxFor(model => model.Not Stored)%>
                <%:Html.LabelFor(model => model.Not Stored)%>
            </div>


            <div class="field forCheckbox">
                <%:Html.CheckBoxFor(Convert.boolean(model=>model.Waiting))%>
                <%:Html.LabelFor(model=>model.Waiting) %>
            </div>

Как мне это сделать?

Ответы [ 2 ]

1 голос
/ 25 мая 2011

Я согласен с ответом Балександра, но я думаю, что лучше использовать «Равные» в случае нулевого значения.
И бесполезно писать «cond? True: false». 'cond' работает.

<div class="field forCheckbox">
   <%:Html.CheckBox(model => {return "Waiting".Equals(model.Waiting)})%>
   <%:Html.LabelFor(model=>model.Waiting) %>
</div>
0 голосов
/ 25 мая 2011

Вы можете использовать

<%:Html.CheckBox("Waiting", Model.Waiting.ToLower() == "waiting"))%>

или Добавить к своей модели свойство boolean:

public bool WaitingBool { 
    get {
        if(!String.IsNullOrEmpty(this.Waiting) && 
           this.Waiting.ToLower() == "waiting") 
            return true;
        return false;
    } 
}

, и вы можете использовать:

<%:Html.CheckBoxFor(model=>model.WaitingBool)%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...