2012-04-02 5 views
0

Мой сайт имеет следующее:код позиционирования генерироваться DataList элементы внутри литий

<li class="tile lower-boxes icon_email" data-target-activation="click" data-target="news"> 
      <div> 
      <h2>News 1  
      </h2><h3>24</h3> 
      </div> 
     </li> 

      <li class="tile lower-boxes icon_email" data-target-activation="click" data-target="news"> 
      <div> 
      <h2>News 2</h2><h3>24</h3> 
      </div> 
     </li> 

      <li class="tile lower-boxes icon_email" data-target-activation="click" data-target="news"> 
      <div> 
      <h2>News 3</h2><h3>24</h3> 
      </div> 
     </li> 

      <li class="tile lower-boxes icon_email" style="width:23.6% !important" data-target-activation="click" data-target="news"> 
      <div> 
      <h2>News 4</h2><h3>24</h3> 
      </div> 
     </li> 

ниже код будет захватывать последние 4 сообщения из моего блога. Но проблема в том, как заставить datalist выводить значения, чтобы они отображались в разделе каждого li?

<form id="form1" runat="server"> 
    <div> 
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="http://www.website.co.uk/blog/syndication.axd" 
      XPath="rss/channel/item [position()<=10]"></asp:XmlDataSource> 

    </div> 
     <asp:DataList ID="DataList1" runat="server" DataSourceID="XmlDataSource1" BackColor="White" BorderColor="#404040" BorderStyle="none" GridLines="Vertical"> 
      <ItemTemplate> 
       <a href="<%#XPath("link")%>"> 
        <%#XPath("title")%><br /> 
       </a> 
      </ItemTemplate> 
      <AlternatingItemStyle BackColor="CadetBlue" /> 
      <ItemStyle BackColor="transparent" ForeColor="transparent" /> 
      <HeaderStyle BackColor="#804040" ForeColor="White" Font-Bold="true" /> 
     </asp:DataList> 
    </form> 

ответ

2

Для получения равнины HTML структуры, жереха: повторитель наиболее предпочтительно. в репитере то, что вы помещаете в ItemTemplate, поступает как результат без применения другой таблицы или css.

ниже используется повторитель с той же целью.

<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="http://www.website.co.uk/blog/syndication.axd" 
    XPath="rss/channel/item [position()<=10]"></asp:XmlDataSource> 
<asp:Repeater ID="rptNews" runat="server" DataSourceID="XmlDataSource1"> 
    <HeaderTemplate> 
     <ul> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <li class="tile lower-boxes icon_email" data-target-activation="click" data-target="news"> 
      <div> 
       <h2> 
        <a href="<%#XPath("link")%>"> 
         <%#XPath("title")%><br /> 
        </a> 
       </h2> 
       <h3> 
        <%#XPath("description")%></h3> 
      </div> 
     </li> 
    </ItemTemplate> 
    <FooterTemplate> 
     </ul> 
    </FooterTemplate> 
    </asp:Repeater> 

Надеюсь, это вам поможет.

0

ниже код будет захватывать последние 4 сообщения из моего блога. Но проблема заключается в том, как заставить datalist выводить значения, чтобы они отображали в разделе каждого ли?

Если вы хотите это сделать, вам необходимо вывести элементы <li> из Datalist.

Что-то вроде:

<asp:DataList ID="DataList1" runat="server" DataSourceID="XmlDataSource1" BackColor="White" BorderColor="#404040" BorderStyle="none" GridLines="Vertical"> 
      <ItemTemplate> 
       <li> <!-- added li--> 
        <a href="<%#XPath("link")%>"> 
         <%#XPath("title")%><br /> 
        </a> 
       </li> 
      </ItemTemplate> 
      <AlternatingItemStyle BackColor="CadetBlue" /> 
      <ItemStyle BackColor="transparent" ForeColor="transparent" /> 
      <HeaderStyle BackColor="#804040" ForeColor="White" Font-Bold="true" /> 
     </asp:DataList> 
+0

Так что я мог бы получить его, чтобы создать блок LI из моего первого сообщения, включая теги заголовка ?? –

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