воспроизвести это на vb.net в asp: repeater мне нужно повторить следующее - PullRequest
0 голосов
/ 27 марта 2011

Мне нужно повторить следующее в vb.net/asp.net.

<ul id="prod_nav" class="clearfix">
      <li class="top"><a href="05-Pink-02-Category-List.html" class="top_link"><span class="down">Body and Trim</span></a>
        <ul class="sub">
          <li class="clearfix">
            <ul>
              <li><a href="05-Pink-03-Products-List.html">Panels</a></li>
              <li><a href="05-Pink-03-Products-List.html">Tow Bars</a></li>
            </ul>
          </li>
        </ul>
      </li>   <li class="top"><a href="05-Pink-02-Category-List.html" class="top_link"><span class="down">Brake Friction</span></a>
        <ul class="sub">
          <li class="clearfix">
            <ul>
              <li><a href="05-Pink-03-Products-List.html">Drums</a></li>
              <li><a href="05-Pink-03-Products-List.html">pads</a></li>
              <li><a href="05-Pink-03-Products-List.html">discs</a></li>

            </ul>
             </li>
        </ul>
      </li>     

, поэтому у меня есть

<asp:Repeater ID="repeaterMyList"  Runat="server">
            <HeaderTemplate>

            </HeaderTemplate>
                <ItemTemplate>
                   <li class="top"><a href="javascript: void(0)" class="top_link"><span class="down"></span><%#DataBinder.Eval(Container.DataItem,"groupname")%></a>

          <ul class="sub">
          <li class="clearfix">
            <ul>
              <li><a href="05-Pink-03-Products-List.html"><%#DataBinder.Eval(Container.DataItem,"subgroupname")%></a></li>




                </ItemTemplate>
                <SeparatorTemplate>

            </ul>
                </SeparatorTemplate>
                <FooterTemplate>

                </li>
        </ul>
      </li>
                </FooterTemplate>
            </asp:Repeater>
        </ul>

Проблема : Дата данныхЯ ссылался на ретранслятор, у меня есть столбцы, например, но я получаю только одного мастера <li>.

Создан, пожалуйста, кто-нибудь может мне помочь.

GROUPID   GROUPNAME           SUBGROUPID SUGROUPNAME
BO  Body & Trim PANE-BO Panels
BO  Body & Trim TOWS-BO Tow Bars

BR  Brake Friction  DRUM-BR Drums
BR  Brake Friction  PADS-BR Pads
BR  Brake Friction  KITS-BR Accessories-Fit Kits
BR  Brake Friction  DISC-BR Discs
BR  Brake Friction  SHOE-BR Shoes
CA  Cables  CABL-CA Cables
CA  Cables  CAFP-CA Cable Fitment Parts
CL  Clutch Friction SSCL-CL Switches, Sensors - Clutch
CL  Clutch Friction CLPT-CL Clutch Parts, Flywheels
CL  Clutch Friction CLFP-CL Fitting Parts
CO  Cooling & Heating   RCTS-CO Radiator Caps, Thermostats
CO  Cooling & Heating   SSCH-CO Switches, Sensors - Cooling & Heating   
CO  Cooling & Heating   WHOP-CO Water Hoses, Pumps

1 Ответ

0 голосов
/ 27 марта 2011

Вместо полного решения, которое включало бы в себя больше, чем просто разметку для повторителя, вот самый важный предмет, на который вы должны обратить внимание:

Вложенные повторители

Тонн примеров на StackOverflow и в других местах.

По сути, вам понадобится ретранслятор для ваших групп и внутренний ретранслятор для вашего подгруппы .

Трудно быть более конкретным, поскольку таблица данных, о которой вы упоминаете в своем вопросе, не соответствует предоставленному образцу разметки (например, группа Ванная не может бытьв вашем примере данных).

РЕДАКТИРОВАТЬ:

Вот основная разметка для вложенного повторителя:

<asp:Repeater ID="rGroups"  Runat="server">
    <HeaderTemplate>
        <ul id="prod_nav" class="clearfix">
    </HeaderTemplate>
    <ItemTemplate>
        <li class="top"><a href="05-Pink-02-Category-List.html" class="top_link">
            <span class="down"><%#DataBinder.Eval(Container.DataItem,"groupname")%></span></a>

        <asp:Repeater ID="rSubgroups"  Runat="server">
            <HeaderTemplate>
                <ul class="sub">
                  <li class="clearfix">
                    <ul>
            </HeaderTemplate>
            <ItemTemplate>
                <li><a href="05-Pink-03-Products-List.html"><%#DataBinder.Eval(Container.DataItem,"subgroupname")%></a></li>
            </ItemTemplate>
            <FooterTemplate>
                    </ul>
                  </li>
                </ul>
            </FooterTemplate>
        </asp:Repeater>

        </li>
    </ItemTemplate>
    <FooterTemplate>
        </ul>
    </FooterTemplate>
</asp:Repeater>

Повторитель rSubgroups долженбыть привязанным к каждому предмету в ретрансляторе rGroups .Для этого вам нужно реализовать событие OnItemDataBound rGroups

...