2013-03-11 3 views
0

У меня есть список записей, которые я использую для повторного использования на экране. Один из столбцов содержит флажок «Contacted». Я установил некоторые из записей, которые нужно проверить, а некоторые нет. (В БД) ... но когда страница загружает все записи, проверяется ... Кто-нибудь знает, почему?Все флажки возвращены, даже если «"

<input type="checkbox" name="chkBox" 
checked='<%# SetCheckboxValue((bool)Eval("Contacted"))%>' /> 

«Связался» представляет собой набор BOOL в код зависимости, если запись проверяется или нет (из БД)

protected string SetCheckboxValue(bool Contacted) 
    { 
     if (Contacted) 
     { 
      return "checked"; 
     } 

     return String.Empty; 
    } 

SetCheckboxValue получает либо T или F и должен возвращать «проверил» или "" Затем приложение должно отображать каждую запись как проверенную или пустую. но как я уже сказал, все записи отображаются как отмеченные?

Любые идеи? Thanks

+0

«Свяжитесь с нами», какова ценность? это правда или «Т»? –

+0

привет ravi это bool, так это правда – John

+0

Это использование 'Eval' legal? Я не вижу его в [документации] (http://msdn.microsoft.com/en-us/library/system.web.ui.databinder.eval.aspx), но я не использую его сам. – Bobson

ответ

6

Поскольку атрибут checked является логическим атрибутом и необязательно требует значения.

Это наличие или отсутствие указывает, установлен ли флажок или нет.

Изменить наценку на:

<input type="checkbox" name="chkBox" <%# SetCheckboxValue((bool)Eval("Contacted"))%> /> 

Примечание: Это для того, чтобы быть X/HTML совместимыми вы должны сгенерировать атрибут размеченный как: checked="checked" но для HTML проще checked достаточно.

protected string SetCheckboxValue(bool Contacted) 
{ 
    if (Contacted) 
    { 
     return "checked=\"checked\""; 
    } 

    return String.Empty; 
} 
+0

хороший человек спасибо за это miky – John

+0

добро пожаловать! –

4

checked в ценности необязательно и полностью необязательно.

<input type='checkbox' checked /> 

такой же, как

<input type='checkbox' checked='checked' /> 

такой же, как

<input type='checkbox' checked='' /> 

Вы должны удалить атрибут checked полностью снимите этот флажок.

+0

ОК приветствует это – John

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