2013-05-30 4 views
1

Я работаю над проектом asp, и я хочу отображать значения из базы данных (Sql server) в тег marquee один за другим. После некоторых поисков я могу сделать этот ниже код.asp.net повторитель с метками метки и метки

<asp:Repeater id="newsrepeater" runat="server"> 
<ItemTemplate> 
<asp:Label ID="labelnews" text='<%# Container.DataItem %>' runat="server">    
</asp:Label> 
</ItemTemplate> 
</asp:Repeater> 

Код работает, только проблема - это значения из списка, отображающего все вместе. Например, если есть новости1 и news2, то появляются news1news2, пока я хочу показывать новости1 и новости 2 один за другим. и они будут повторяться. Любые предложения, пожалуйста.

+0

Почему бы вам не добавить ''
? Или ' '? – nmat

+0

Спасибо, ответив, но мне не нужно пространство между двумя новостями i.e news1 news2, а затем я хочу показывать новости друг за другом. Сначала он отображает новости1, а затем news2 в конце новостей1 и повторяет этот процесс. – greatmajestics

+1

Вы пытаетесь показать только один за раз и пройти через них? Если это так, я бы не использовал ретранслятор - я бы настроил панель обновления и таймер. Когда таймер гаснет, вы можете показать ему следующий элемент в списке источников данных. Вы также можете выполнить этот «цикл», если ваш ретранслятор сообщит JQuery/Javascript о потенциальных элементах и ​​проведет Jquery через них. – Porschiey

ответ

0

, например:

<div id="Hot_News" > 
      <marquee behavior="scroll" direction="up" scrollamount="2" behavior="alternate" onmouseover="this.setAttribute('scrollamount', 0, 0);" onmouseout="this.setAttribute('scrollamount', 6, 0);"> 
      <asp:Repeater ID="rep_marq" runat="server" >      
       <ItemTemplate> 
        <ul class="marquee"> 
         <li class="marquee_li"> 
          <a href='<%# Eval("NewsID","../Public_Pages/ShowNewsPage.aspx?NID={0}") %>'> 
           <asp:Label ID="Label3" runat="server" Text='<%#Eval("NewsTitr") %>'></asp:Label> 
          </a> 
         </li> 
        </ul> 
       </ItemTemplate> 
      </asp:Repeater> 
      </marquee>     
     </div> 

и в коде позади:

public void fillrepeter() 
{ 
    try 
    { 
     var db = new DataClassesDataContext(); 
     var fill = (db.TblNews.Select(p => p)).Take(5).ToList(); 
     if (fill != null) 
     { 
      rep_marq.DataSource = fill; 
      rep_marq.DataBind(); 
     } 
    } 
    catch (Exception) 
    { 

     throw; 
    } 
} 
Смежные вопросы