想弄一个滚动新闻栏,求repeater制作的详细步骤,包括数据库,数据库中表news的字段为NewsID、NewsTitle、NewsContent,只要求显示NewsTitle的滚动效果即可,然后希望点进去能链接到NewsContent,求步骤,和源代码
解决方案 »
- |zyciis|反射对int属性进行赋值的时候成功,但是对int?报错:从“System.String”到“System.Nullable的强制转换无效,有代码
- 跨页面取值查询问题
- document.getElementById("Image1").style.visibility
- TextBox 密码框的问题?
- 怎样在前台接受后台传来的变量
- 请教高手GridView在继承母版的页面中翻页的问题
- asp.net中怎么在服务端代码中回调客户端javaScript函数.
- 征求解决页面刷新问题
- 一个简单的问题!在线急等答复!!
- 500 Internal Server Error 问题
- Gridview查询,编辑问题
- .net代码解释
<asp:Repeater ID="rpMarqueeSiteLink" runat="server">
<ItemTemplate>
<div style="float:left; "><%#Eval("osaname")%>:</div><br />
<div style="float:left; text-align:left; ">
<a href="<%#Eval("osalinks")%>" target="_blank"><%#Eval("osalinks")%></a></div> <br />
</ItemTemplate>
</asp:Repeater>
</div>
<span id="spError" runat="server" />
<script type="text/javascript">
<!--
function startmarquee(lh, speed, delay) {
var t;
var p = false;
var o = document.getElementById("marqueebox");
o.innerHTML += o.innerHTML;
o.onmouseover = function() { p = true }
o.onmouseout = function() { p = false }
o.scrollTop = 0;
function start() {
t = setInterval(scrolling, speed);
if (!p) o.scrollTop += 2;
}
function scrolling() {
if (o.scrollTop % lh != 0) {
o.scrollTop += 2;
if (o.scrollTop >= o.scrollHeight / 2) o.scrollTop = 0;
} else {
clearInterval(t);
setTimeout(start, delay);
}
}
setTimeout(start, delay);
}
startmarquee(22, 50, 1000);
/**startmarquee(一次滚动高度,速度,停留时间,图层标记);**/
//-->
</script>
参考
DIV+CSS 实现数据滚动
{
OVERFLOW: auto; //滚动区域自动
OVERFLOW-X: hidden; //隐藏横坐标滚动条
OVERFLOW-Y: hidden; //隐藏纵坐标滚动条
HEIGHT: 600px; //区域高度
WIDTH: 600px //区域高度
}
<div id="contentDiv">
<div id="titleDiv">
<TABLE cellSpacing="0" cellPadding="0" border="1">
<TR align="center">
<TH width="40">
序号
</TH>
<TH width="100">
字段名
</TH>
<TH width="40">
类型
</TH>
<TH width="90">
显示区域
</TH>
<TH width="40">
附件
</TH>
<TH width="60">
简表字段
</TH>
<TH width="40">
必填
</TH>
<TH width="40">
排序
</TH>
<TH width="100">
操作
</TH>
</TR>
</TABLE>
</div>
<div id="dataDiv">
<TABLE id="listcontent" cellSpacing="0" cellPadding="0" border="1" style="FLOAT:left;MARGIN:0px">
<asp:repeater id="repeaterData" Runat="server">
<ItemTemplate>
<tr>
<td style="width:40px;" class="btn">
<asp:TextBox ID="txtSearch" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"sequence")%>'>
</asp:TextBox>
</td>
<td style="width:100px;">
<asp:Label ID="Lbl_Id" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"id")%>' Visible="False">
</asp:Label>
<%#DataBinder.Eval(Container.DataItem,"name")%>
</td>
<td style="width:40px;">
<asp:Label ID="Lbl_Type" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"fieldType")%>'>
</asp:Label>
<asp:HyperLink ID="link_manager" Runat=server>选项</asp:HyperLink>
</td>
<td style="width:90px;">
<asp:Label ID="Lbl_Area" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"area")%>'>
</asp:Label>
</td>
<td align="center" style="width:40px;">
<asp:Label ID="Lbl_Exist" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"existArchive")%>'>
</asp:Label>
</td>
<td align="center" style="width:60px;">
<asp:Label ID="Lbl_Simple" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"isSimple")%>'>
</asp:Label>
</td>
<td align="center" style="width:40px;">
<asp:Label ID="Lbl_Required" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"required")%>'>
</asp:Label>
</td>
<td align="center" style="width:40px;">
<asp:Label ID="Lbl_Sequence" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"sequence")%>' Visible="False">
</asp:Label>
<asp:LinkButton ID="btnUp" Runat="server" CommandName="up">▲</asp:LinkButton>
<asp:LinkButton ID="btnDown" Runat="server" CommandName="down">▼</asp:LinkButton>
</td>
<td style="width:100px;">
<asp:Label ID="Lbl_URI" Runat="server" Visible="false" Text='<%#DataBinder.Eval(Container.DataItem,"fieldURI")%>'>
</asp:Label>
<asp:Label ID="Lbl_Flag" Runat="server" Visible="false" Text='<%#DataBinder.Eval(Container.DataItem,"flag")%>'>
</asp:Label>
<asp:LinkButton ID="update" Runat="server" Visible="false" CommandName="update">修改</asp:LinkButton>
<asp:LinkButton ID="statusUpdate" CommandName="statusUpdate" Runat="server">
<asp:Label ID="Lbl_Status" Runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"status")%>'>
</asp:Label>
</asp:LinkButton>
<asp:LinkButton ID="delete" Runat="server" Visible="false" CommandName="delete">删除</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:repeater>
<asp:literal id="NonPanel" Runat="server"></asp:literal>
</TABLE>
</div>
</div>
#box{width:774px; height:20px; margin:19px 0px 0px 6px; padding:0px; overflow:hidden;}
#box li{list-style:none; line-height:20px;color:#999;font-size:13px;}
.newsContent a{display:block; color:#999; text-decoration:none;}
.newsBox .newsContent a:hover{ color:#23a3d7;} //滚动支持的脚本
<script language="javascript" type="text/javascript">
window.onload=function(){
var o = document.getElementById('box'); //容器、滚动对象
window.setInterval(function(){scrollup(o,20,0);},3000);
}
/* 滚动主方法=>参数:o 滚动块对象,参数:d 每次滚屏高度, 参数:c 当前已滚动高度*/
function scrollup(o,d,c){
if(d==c){
var t=getFirstChild(o.firstChild).cloneNode(true);
o.removeChild(getFirstChild(o.firstChild));
o.appendChild(t);
t.style.marginTop="0px";
}else{
c+=2;
getFirstChild(o.firstChild).style.marginTop=-c+"px";
window.setTimeout(function(){scrollup(o,d,c)},20);
}
}
function getFirstChild(node){
while (node.nodeType!=1)
{
node=node.nextSibling;
}
return node;
}
</script>
<div class="newsBox">
<h2>新闻动态</h2>
<div class="newsContent">
<ul id="box">
<%--<li><a href="#">滚动新闻1</a></li>
<li><a href="#">滚动新闻1</a></li>
<li><a href="#">滚动新闻1</a></li>--%>
<asp:Repeater ID="HotNews" runat="server" >
<ItemTemplate>
<li>
<%--<li><%=CreatCode.creatNews()%></li>--%>
<a href="news_xi.aspx?view=<%#Eval("ID")%>"> <%#web.Util.WbUI.CutString3(Eval("NewsTitles").ToString(),90) %> //我这里是截取多余字符调用方法(你可以去掉)
<%#Eval("NewsTitles")#> //这是你需要的 截取方法 自己写
</a>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
</div>
后台 对 repeater 数据进行绑定就可以了
<a href="news_xi.aspx?view=<%#Eval("ID")%>"> 这里的双引号吧,小问题