2016-10-09 5 views
0

Стараюсь Bind галочкой недвижимость в стороне ListView Как это:Невозможно преобразовать тип «строка» в «BOOL» при связывании виде списка

<asp:CheckBox ID="chk_holi_sal" runat="server" Class="chk_holi_sal" Checked="<%#:Item.HasSal%>" /> 

public bool HasSal 
{ 
    get { return SALARY_CALC == 1; } 
} 

Но я получаю следующая ошибка компилятора:

Сообщение об ошибке компилятора: CS0030: Невозможно преобразовать тип 'st Кольцо 'до „BOOL“

проверить значения <%#:Item.HasSal%> и найти это с равным True ИЛИ False

Почему я получаю эту ошибку все время?


Согласно ответам использовать Eval вместо воспользоваться значением strongly type для ListView Control, я сталкиваюсь новое исключение:

enter image description here

+0

Использование Eval (Item.HasSal) –

+0

Как указывает код ошибки, «Проверено» - это bool (true или false). Поскольку вы вызвали .ToString() в своем eval, у вас есть строка. Вам нужно использовать bool – JKerny

ответ

0

Следующая строка работала со мной:

<input id="chk_holi_sal" class="chk_holi_sal" type="checkbox" checked=' <%# Eval("HasSal") %>' disabled="disabled" runat="server" value="<%#:Item.HasSal%>" /> 

Я пытаюсь использовать функцию strongly-Typed, но это не удается, я должен использовать Eval.

1

попробовать с этим кодом

<asp:CheckBox ID="chk_holi_sal" runat="server" Checked="<%# Convert.ToBoolean(Eval("Item.HasSal")) %>" /> 

или с тройным оператором

<asp:CheckBox ID="chk_holi_sal" runat="server" Checked= 
    <%# Convert.ToBoolean(Eval("Item.HasSal")) ? true : false %> /> 

 Смежные вопросы

  • Нет связанных вопросов^_^