後臺在Page_Load的時候先從數據庫中取圖片:
protected void Page_Load(object sender, EventArgs e)
{
Hidden2.Value = "";
LoginBLL log = new LoginBLL();
DataSet ds = log.GetImage("1");//獲取圖片信息
if (ds != null && ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
Hidden1.Value += ds.Tables[0].Rows[i]["Image"].ToString() + ","; }
}
}
這是前臺頁面,由於隱藏域中已經有值,所以我將取出來的值用JS加CSS樣式來實現的,能夠達到每五秒鐘切換壹次圖片,點擊圖片,可以瀏覽到大圖。我將取出的圖片用“,”進行連接,然後再通過JS拆分後分別賦值創建並賦給對象,以達到動態切換圖片的效果。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
<input id="Hidden1" type="hidden" runat="server" />
<script type="text/javascript" language="javascript">
var widths=500; //焦點圖片寬
var w=2;
var widthss=widths+w;
var heights=221; //焦點圖片高
//var heightss=heightss+w;
//var heightt=32;
//總條數
//img1=new Image();在這裏是聲明了壹個圖片元素的對象
//後面是對圖像的屬性進行賦值或設置,如imgs.src="xxxx.jpg"是指定圖片的索引地址.
//這個代碼壹般用於head區,用於預加載圖片,即加快圖片顯示.
//只有用new Images()得到的圖片IE7才認,
//而IE6和firefox可認得imgUrl[1]="/y9q9ms7lbgbt.jpg";得到的圖片
var str=document.getElementById('Hidden1').value.split(',');
if(str!="")
{
for(var i=0;i<str.length-1;i++)
{//獲取圖片的數量,並創建對象
eval('img'+(i+1)+'=new Image();');
eval('img'+(i+1)+'.src="'+str[i]+'";');
eval('url'+(i+1)+'=new Image();');
eval('url'+(i+1)+'.src="'+str[i]+'";');
}
}
var counts=str.length-1;
var nn=1; //當前所顯示的滾動圖
var key=0; //標識是否為第壹次開始執行
var tt; //標識作用
function change_imgbaner()
{
if(key==0){key=1;} //如果第壹次執行KEY=1,表示已經執行過壹次了。
else if(document.all)//document.all僅IE6/7認識,firefox不會執行此段內容
{
document.getElementById("pic").filters[0].Apply(); //將濾鏡應用到對像上
document.getElementById("pic").filters[0].Play(duration=1); //開始轉換
document.getElementById("pic").filters[0].SlideStyle='SWAP';//轉換效果
document.getElementById("pic").filters[0].Bands=1;
// with(document.getElementById("pic").filters[0])
// { Duration=2;SlideStyle='SWAP';Bands=1; }
}
eval('document.getElementById("pic").src=img'+nn+'.src'); //替換圖片
eval('document.getElementById("url").href=url'+nn+'.src'); //替換URL
//eval('document.getElementById("title").value=txt'+nn+'.txt'); //替換ALT
for (var i=1;i<=counts;i++)
{
document.getElementById("xxjdjj"+i).className='axx'; //將下面黑條上的所有鏈接變為未選中狀態
}
document.getElementById("xxjdjj"+nn).className='bxx'; //將當前頁面的ID設置為選中狀態
nn++;
if(nn>counts){nn=1;} //如果ID大於總圖片數量。則從頭開始循環
tt=setTimeout('change_imgbaner()',5000); //在4秒後重新執行change_imgbaner()方法.
}
function changeimg(n)//點擊黑條上的鏈接執行的方法。
{
nn=n; //當前頁面的ID等於傳入的N值,
window.clearInterval(tt); //清除用於循環的TT
//重新執行change_imgbaner();但change_imgbaner()內所調用的圖片ID已經在此處被修改,會從新ID處開始執行.
tt=setTimeout('change_imgbaner()',500);
//change_imgbaner();
}
function aHref()
{return;}
//樣式表
document.write('<style>');
document.write('.axx{padding:1px 7px;margin:0 5px;}');
document.write('a.axx:link,a.axx:visited{text-decoration:none;color:#000;line-height:12px;font:12px sans-serif;background:#fff;border:1px solid #3467cc}');
document.write('a.axx:active,a.axx:hover{text-decoration:none;color:#fff;line-height:12px;font:12px sans-serif;background:#666;}');
document.write('.bxx{padding:1px 7px;margin:0 5px;}');
document.write('a.bxx:link,a.bxx:visited{text-decoration:none;color:#fff;line-height:14px;font:14px sans-serif;background:#95bdeb;font-weight:900}');
document.write('a.bxx:active,a.bxx:hover{text-decoration:none;color:#fff;line-height:14px;font:14px sans-serif;background:#ff9900;font-weight:900}');
document.write('</style>');
//內容部分
document.write('<div style="width:'+widthss+'px;height:'+heights+'px;overflow:hidden;text-overflow:clip;float:left;">');
document.write('<div><a id="url" target="_blank"><img id="pic" style="border:0px #cbcbcb solid;FILTER: progid:DXImageTransform.Microsoft.Slide(duration=1,slidestyle=SWAP,Bands=1)" width='+widths+' height='+heights+' /></a></div>');
document.write('<div style="background: transparent;width:98%;text-align:right;top:-30px;position:relative;margin:1px;height:32px;border:0px;padding-top:1px;z-index:0;"><div>');
for(var i=1;i<counts+1;i++){document.write('<a href="javascript:aHref();" id="xxjdjj'+i+'" class="axx" target="_self" onmouseover="javascript:changeimg('+i+');">'+i+'</a>');}
document.write('</div></div></div>');
//開始執行滾動操作
change_imgbaner();
-->
</script>
</body>
</html>
PS:MVC框架無非就是通過某個框架結構來獲取需要的結果而已,妳所要的效果與MVC框架並無直接關系,只是獲取圖片的集合需要通過MVC的架構關系來讀取,通過視圖層調用業務層的方法,業務層再通過數據訪問層從數據庫獲取數據,再返回給業務邏輯層,進而再返回給視圖層,最終還是由視圖層來對返回的結果進行處理顯示在頁面上,而妳需要的不就是視圖層來顯示圖片切換的效果嗎?我將從數據庫取圖片的步驟省略了,我用的也是三層架構,註意:
LoginBLL log = new LoginBLL();
DataSet ds = log.GetImage("1");//獲取圖片信息
我的這壹步就是獲取圖片信息,調用的是業務邏輯層的某個接口下的方法,因此接口名後面帶有BLL,而在我的DataAccess類下,反射創建類的實例,將某些類的模塊反射給接口,而真正與數據庫交互的就是這些類,而後面的HTML代碼則是對妳圖片進行切換的JS和CSS樣式,通過它們來達到想要的效果,所以妳所講的效果與MVC架構並無太大關系。