当前位置:编程学习 > C#/ASP.NET >>

在asp.net中

这个效果的图片从数据库中取出来但是(c#语言)asp页面和c#文件代码怎么写啊

追问:我这里有一段js的页面的代码

能否帮我改成asp.net(页面)能用的

function g(t)
if len(t)>12 then
g=left(t,12)&"…"
else
g=t
end if
end function

pic=""
link=""
imgtext=""

sql="select top 5 * from zm_news where img<>'' order by id desc"
Set rs=conn.execute(sql)
do while not rs.eof
pic=pic&"|"&rs("img")
link=link&"|"&"news_view.asp?id="&rs("id")
imgtext=imgtext&"|"&g(rs("title"))
rs.MoveNext
loop
rs.Close
set rs=nothing


pic=right(pic,len(pic)-1)
link=right(link,len(link)-1)
imgtext=right(imgtext,len(imgtext)-1)
%>
<a target=_blank href=><span class="f14b">
<script type="text/javascript">

var focus_width=200
var focus_height=140
var text_height=20
var swf_height = focus_height+text_height

var pics="<%=pic%>"
var links="<%=link%>"
var texts="<%=imgtext%>"

document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase=" http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ focus_width +'" height="'+ swf_height +'">');
document.write('<param name="allowScriptAccess" value="sameDomain"><param name="movie" value="playswf.swf"><param name=wmode value=transparent><param name="quality" value="high">');
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
document.write('<param name="FlashVars" value="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'">');
document.write('<embed src="playswf.swf" wmode="opaque" FlashVars="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'" menu="false" bgcolor="#DADADA" quality="high" width="'+ focus_width +'" height="'+ swf_height +'" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage=" http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
//-->
</script>
</span></a><span id="focustext" class="f14b"> </span>
<body>
</body>
</html>

答案:
1.你可以使用FLASH做。2.可以使用新的SilverLigth做(由于SilverLight未普及,所以不推荐)。3.比较常用的,是使用JavascriptS控制的一个类似于分页栏的功能,并用CSS控制样式。
这个好像是一个框架哈,但是具体实现的话我没有做过。不好意思。

新建一个页面,页面不需要处理,只写后台代码。

图片上传时,以二进制形式保存的数据库,在页面调用时,从数据库中读取。

int ImageId;//图片保存到数据库中的ID
string filetype ;//图片保存到数据库中的类型
byte[] img = ddi.GetImageBytes(ImageId);
if (img.Length>0)
{
Response.ContentType = filetype;
Response.AppendHeader("Content-Type", filetype);
Response.AddHeader("Content-Length", "" + img.Length);
Response.BinaryWrite(img); //输出
Response.Flush();
Response.End();
}

使用js 就可以实现。在服务器端,打印出客户端代码就可以了

用javascript做吧我有代码 图片自己准备好


<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>带按扭的轮换横幅广告</TITLE>
<STYLE type="text/css">
a{/*设置无下划线、文字背景超连接样式*/
color:#ffffff;
font-size:13px;
text-decoration:none;
background-color:#ff0000;
width:20px;
}

</STYLE>
<SCRIPT language="JavaScript">
var NowFrame = 1;
var MaxFrame = 4;
function show(d1) {
if(Number(d1)){
clearTimeout(theTimer); //当触动按扭时,清除计时器
NowFrame=d1; //设当前显示图片
}
for(var i=1;i<(MaxFrame+1);i++){
if(i==NowFrame)
document.getElementById('div'+NowFrame).style.display =''; //当前图片示
else
document.getElementById('div'+i).style.display ='none'; //隐藏其他图片层
}
{ if(NowFrame == MaxFrame) //设置下一个显示的图片
NowFrame = 1;
else
NowFrame++;}
theTimer=setTimeout('show()', 3000); //设置定时器,显示下一张图片
}

</SCRIPT>
</HEAD>

<BODY onLoad="show();">
<DIV style="position:absolute;left:200px;top:60px;">
<IMG src="image/ad-01.jpg" style="display:none;" id="div1" border="0">
<IMG src="image/ad-02.jpg" style="display:none;" id="div2" border="0">
<IMG src="image/ad-03.jpg" style="display:none;" id="div3" border="0">
<IMG src="image/ad-04.jpg" style="display:none;" id="div4" border="0">
</DIV>
<DIV style="position:absolute;left:440px;top:230px;" align="center"><A href=></DIV>

</BODY>
</HTML>

上一个:asp.net2.0问题
下一个:asp.net关于Treeview

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,