2015-03-30 5 views
1

У меня может быть любое количество флажков в моей таблице.установить все флажки внутри страницы на false

<input type="checkbox" value='<%#Eval("MapID") %>' class="chk" runat="server"/> ...

Так как установить все галочки ложь из кода позади?

<asp:UpdatePanel runat="server" ID="AccesUpdatePanel" UpdateMode="Conditional" ChildrenAsTriggers="true"> 

     <ContentTemplate> 

      <asp:ListView ID="lvCurrentMaps" runat="server" > 
      <LayoutTemplate> 


       <table cellpadding="0" cellspacing="0" border="0" class="display rndCorner2" id="example" width="100%"> 
       <thead> 
        <tr id="Tr1" runat="server" class="itemTableHeader"> 
         <td> 
         <asp:Label runat="server" ID="Label1" Text="Select" /> 
         </td> 
         <td id="Td1" runat="server"> 
          <asp:Label runat="server" ID="lblMapID" Text="Map ID" /> 
         </td> 
        </tr> 
      </thead> 
      <tbody> 
        <tr id="itemPlaceholder" runat="server"> 
        </tr> 
       </tbody> 
       </table> 


      </LayoutTemplate> 
      <ItemTemplate> 
       <tr id="Tr2" runat="server" class="itemTableData"> 
        <td id="Td6" runat="server" class="chkbox"> 
         <input type="checkbox" value='<%#Eval("MapID") %>' class="chk" runat="server"/> 
        </td> 
        <td id="Td1" runat="server" onclick='<%#"doPostBackForView("+Eval("MapID")+")" %>' style="cursor:pointer !important"> 
         <asp:Label runat="server" ID="lblIDMapValue" Text= '<%#Eval("MapID") %>' /> 
        </td> 
       </tr> 
      </ItemTemplate> 
      <AlternatingItemTemplate> 
       <tr id="Tr2" runat="server" class="altItemTableData"> 
        <td id="Td6" runat="server" class="chkbox"> 
         <input id="Checkbox" type="checkbox" value='<%#Eval("MapID") %>' class="chk" runat="server"/> 
        </td> 
        <td id="Td1" runat="server" onclick='<%#"doPostBackForView("+Eval("MapID")+")" %>' style="cursor:pointer !important"> 
         <asp:Label runat="server" ID="lblIDMapValue" Text= '<%#Eval("MapID") %>' /> 
        </td> 
        <td id="Td8" runat="server" onclick='<%#"doPostBackForView("+Eval("MapID")+")" %>' style="cursor:pointer !important"> 
         <asp:Label runat="server" ID="lblMapNameValue" Text= '<%#Eval("MapName") %>' /> 
        </td> 
        <td id="Td9" runat="server" onclick='<%#"doPostBackForView("+Eval("MapID")+")" %>' style="cursor:pointer !important"> 
         <asp:Label runat="server" ID="lblMapDescValue" Text= '<%#Eval("MapDesc") %>' /> 
        </td> 
       </tr> 
      </AlternatingItemTemplate> 

     </asp:ListView>     
     </ContentTemplate> 
     </asp:UpdatePanel> 

Я пытался что-то вроде:

foreach(var li in lvCurrentMaps.Items) 
     { 
      li.DataItem = false; 
     } 

     AccesUpdatePanel.Update(); 

любые идеи? возможно через ScriptManager?

+0

@John, вы пытаетесь обновить статус CheckBox в Javascript или бэкэнд? –

+0

не в моем сценарии, мне нужно? lvCurrentMaps - это то, что имя listView .... пытается обновить с конца – John

+0

извините! Я думал, что вы пытаетесь javascript –

ответ

0

Jquery решение:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('.chk').prop('checked', false); 
}); 
</script> 
+0

можно ли добавить это в скрипт, который запускается из кода позади? – John

+0

Я отредактировал сценарий. поместите полный код в исходный код. он будет запущен сразу после загрузки документа на стороне клиента (но не с конца). –

0

Попробуйте вместо

<input type="checkbox" Checked='<%# Eval("MapID") %> class="chk" runat="server"/> 

Если значение столбца данных МАПИД не является булевой, попробуйте этот

Создать метод

public bool CheckMapID(object mapID) 
{ 
    if (mapID == null) 
    { 
    return false; 
    } 
    return true; 
} 

и замените код HTML/ASPX на это

<input type="checkbox" Checked=<%# CheckMapID(Eval("MapID")) %> class="chk" runat="server"/> 
+0

это броски Указанный прилив недействителен. – John

+0

Какое значение у вас внутри столбца MapID? Разве это не логическое? –

+0

no its int ... – John

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