1

完了ステータスの Web ページを開発しています。

ステージ 1: DraftName
ステージ 2: FinalName

ステージ 1が完了した場合はステージ完了に応じて Repeater コントロールをバインドし、ステージ 2<%# Eval("DraftName")%>の場合はバインドします。次にバインドします。<%# 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 に答える