我正在开发一个asp项目,我想逐个将数据库(Sql server)中的值显示到marquee标签中。经过一番搜索,我可以在下面编写代码。
<asp:Repeater id="newsrepeater" runat="server">
<ItemTemplate>
<asp:Label ID="labelnews" text='<%# Container.DataItem %>' runat="server">
</asp:Label>
</ItemTemplate>
</asp:Repeater>
代码有效,唯一的问题是列表中的值全部显示在一起。例如,如果有news1和news2,则显示news1news2,同时我想一个接一个地显示news1和news2。他们会重复。任何建议请。
答案 0 :(得分: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;
}
}