1

我正在开发一个具有完成状态的网页。

第 1 阶段:DraftName
第 2 阶段:FinalName

我想根据 Stage Completion 绑定 Repeater 控件,如果Stage 1完成,则 bind <%# Eval("DraftName")%>if Stage 2 : then bind <%# Eval("FinalWard")%>

那么,如何有条件地动态绑定Repeater Control呢?

我有许多条件相同的数据库,所以我不想在每个数据库的每个完成状态之后都进行硬编码。如果两个值都存在仍然想设置我需要的任何一个!我怎样才能做到这一点?

<asp:Repeater ID="ResultsRepeater" runat="server">
     <HeaderTemplate>
     <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td>
              &nbsp;
          </td>
       </tr>
     </HeaderTemplate>
     <ItemTemplate>
      <tr>
           <td>
              <table width="100%">
                  <tr>
                     <td align="left" class="searchResFieldName" width="40%">
       <asp:Image ID="Image1" Visible='<%# DeletedImageVisibility(Eval("IsActive"))%>' runat="server"
                                                                ImageUrl="~/images/deleted.png" Style="z-index: 1; position: absolute; margin-left: -5px;" /><br />
       <%# Eval("UnicodeFullName")%>
   </td>
   <td width="10%">
     Constno
   </td>
   <td width="10%">
     Partno
   </td>
   <td width="10%">
     Serialno
   </td>
   </td>
   <td width="8%">
     Age
   </td>
     <td width="5%">
    Gender
     </td>
   <td width="20%">
       Cardno
   </td>
   </tr>
   <tr>
     <td align="left" class="searchResFieldName" width="35%">
        <%# Eval("EnglishFullName")%>
     </td>
     <tr>
     <td align="left">
         <%# Eval("HouseNumber")%><br />
         <%# Eval("UnicodeAddress")%>
     </td>
     <td>
       <b>
        <%# Eval("Constno")%>
       </b>
     </td>
     <td>
     <b>
          <%# Eval("FinalWard")%>
          <%# Eval("PartNumber")%>
          <%#Eval("SerialNumberFinal")%></b>
     </td>
     <td>
          <b>
            <%# Eval("SerialInPart")%>
         </b>
     </td>
           <td>
              <b>
                 <%# Eval("Age")%>
             </b>
             </td>
             <td>
              <b>
               <%# Eval("Sex")%>
              </b>
             </td>
             <td>
               <b>
                <%# Eval("CardNo")%>
               </b>
             </td>
             </tr>
             <tr>
             <td>
                 <%# Eval("Address")%>
             </td>
             <tr>
             <td>
             </td>
            <td class="searchResPrabhag" colspan="10" align="right">&nbsp;
           </td>
           </tr>
              </table>
                 </td>
                       </tr>
                       <tr>
                 <td>
                 <hr />
                 </td>
                 </tr>
         </ItemTemplate>
               <FooterTemplate>
                     <tr>
                       <td>&nbsp;</td>
                     </tr>
                </table>
              </FooterTemplate>
       </asp:Repeater>
4

1 回答 1

0

您可以编写一个以 Container.DataItem 作为参数的内联函数。在里面你可以编写你的逻辑来返回所需的字符串......在标记中创建更少的混乱

于 2012-05-12T19:54:19.807 回答