2016-06-23 2 views
0

Вот мой ASP код повторительесли потом еще в ASP.NET Repeater с Checkbox

<asp:repeater id="filterTable" runat="server"> 
<HeaderTemplate> 
    <br/><br/><br/> 
    <div class="table-responsive"> 
      <table width="100%" cellspacing="0" id="table_odd" class="quickordertable table table-bordered table-striped table-condensed grid-table"> 
     <tr> 
      <th style="width: 80px"> 
       Details 
      </th> 
      <th style="width: 80px"> 
       Filter 
      </th> 
      <th style="width: 30px"> 
       Qty 
      </th> 
      <th style="width: 60px"> 
       Include In Order 
      </th> 
     </tr> 

</HeaderTemplate> 
<ItemTemplate> 
    <tr> 
     <td><%#Eval("Details")%></td> 
     <td><%#Eval("FilterType")%></td> 
     <td><%#Eval("Qty")%></td> 
     <td><asp:CheckBox ID="orderPartNumber" Checked="true" runat="server"/><asp:HiddenField ID="hiddenPartNumber" Value ='<%#Eval("PartNumber")%>'></td> 
    </tr> 
</ItemTemplate> 
<FooterTemplate> 
     </table> 
    </div> 
    </FooterTemplate> 
</asp:Repeater> 

У меня есть ASP ItemTemplate с полем <%#Eval("GenuineOnly")%>

Если поле GenuineOnly содержит значение, (Или не Null) Тогда я хочу показать этот код

<td>GENUINE ONLY</td>

Else Я хочу показать этот код

<td><asp:CheckBox ID="orderPartNumber" runat="server"/><asp:HiddenField ID="hiddenPartNumber" Value ='<%#Eval("PartNumber")%>'></td> 

Я пробовал несколько разных способов, но не могу получить синтаксис правильно! Любая помощь будет оценена по достоинству.

+0

Можете ли вы показать код какой-то немного больше, потому что из этой части информации, которую я не могу анализировать ситуацию. –

ответ

1

Вы можете достичь этого, используя этот путь:

<td> 
    <asp:Panel runat="server" Visible='<%#Eval("GenuineOnly").ToString().Length > 0 %>'> 
     <asp:CheckBox ID="orderPartNumber" Checked="true" runat="server" /> 
     <asp:HiddenField runat="server" ID="hiddenPartNumber" Value='<%#Eval("PartNumber")%>' /> 
    </asp:Panel> 
    <asp:Panel runat="server" Visible='<%#Eval("GenuineOnly").ToString().Length == 0 %>'> 
     GENUINE ONLY 
    </asp:Panel> 
</td> 
+0

Я редактировал свой код, пожалуйста, проверьте его сейчас. – Saadi

+0

Во-первых, я добавил новую строку для четкости кода. Теперь я удалил его – Saadi

+0

Я снова редактировал исходный код. – Saadi

1

Я предполагаю, что вы можете добавить таблицу/Td в соответствии с вашими потребностями.

<asp:Repeater ID="rptr" runat="server" OnItemDataBound="rptr_ItemDataBound"> 
<ItemTemplate> 
     <asp:Label ID="lblGenuineOnly" runat="server" Text='<%#Eval("GenuineOnly") %>' /> 
     <asp:CheckBox ID="orderPartNumber" runat="server"/> 
     <asp:HiddenField ID="hiddenPartNumber" Value ='<%#Eval("PartNumber")%>' runat="server" /> 
    </ItemTemplate> 

код за

protected void rptr_ItemDataBound(object sender, RepeaterItemEventArgs e) 
    { 
     Label lblPartNumber = (Label)e.Item.FindControl("lblGenuineOnly"); 
     CheckBox chkPart = (CheckBox)e.Item.FindControl("orderPartNumber"); 

     if (string.IsNullOrEmpty(lblPartNumber.Text.Trim())) { 
      //Display GENUINE ONLY in any label like lblPartNumber.Text = "GENUINE ONLY" 
      chkPart.Visible = false; 
     } 
     else 
     { 
      chkPart.Visible = true;     
     } 
    } 
+0

Мой код уже находится в репитере. будет ли это работать? –

+0

Конечно, я проверил, если найдена ошибка, дайте мне знать, – Sami

+0

Теперь он не показывает какой-либо флажок или «GENUINE ONLY» текст –

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