您的位置:首页 > 其它

一个图片轮换显示程序[源创]

2006-04-19 11:55 375 查看
做成了一个用户控件(五秒钟切换一次):



slide_ad.ascx
前台部分:
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="slide_ad.ascx.cs" Inherits="eudown_news.usercontrols.slide_ad" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
<div class="slide_ad"><a id="ad_link"><img id="ad_img" border="0"> </a>
      <div><input onclick="change_ad(0);" type="button" value=" 1 "> <input onclick="change_ad(1);" type="button" value=" 2 ">
            <input onclick="change_ad(2);" type="button" value=" 3 ">
      </div>
</div>
<script language="javascript">
   var imgs=new Array(); //图片数据
   var links=new Array(); //链接数据
   var count=0; //当前位置
   //读取后台传到hidden对象中的数据
   var t_img="<%=get_imgs%>";
   var t_link="<%=get_links%>";
   function get_data()
   {
      if (t_img!=null && t_img!=null)
      {
         var tmp;
         tmp=t_img;
         imgs=tmp.split(",");
         tmp=t_link;
         links=tmp.split(",");
         show_ad();
      }
      else
      {
         return;
      }
     
   }
   //开始显示数据
   function show_ad()
   {
      Form1.ad_img.src=imgs[count];
      ad_link.href=links[count];
      count=count+1;
      if (count==3)
      {
         count=0;
      }
      window.setTimeout("show_ad()",5000);
   }
   //手动更新广告
   function change_ad(c)
   {
     if (c>=0 && c<=3)
     {
       Form1.ad_img.src=imgs[ c];
       ad_link.href=links[ c];
       count=c
     }
   }
   get_data();
  
</script>

后台部分:
slide_ad.ascx.cs
namespace eudown_news.usercontrols
{
 using System;
 using System.Data;
 using System.Drawing;
 using System.Web;
 using System.Web.UI.WebControls;
 using System.Web.UI.HtmlControls;
 /// <summary>
 ///  slide_ad 的摘要说明。
 ///  轮循广告(5秒钟切换一次)
 /// </summary>
 public class slide_ad : System.Web.UI.UserControl
 {
  protected string get_imgs;
  protected string get_links;
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   if (!IsPostBack)
   {
//    get_imgs="images/31.gif,images/32.gif,images/33.gif";
//    get_links="http://www.zz.ha.cn,http://www.sina.com.cn,http://www.eudown.com";
    get_data();
   }
  }
  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  ///  设计器支持所需的方法 - 不要使用代码编辑器
  ///  修改此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {
   this.Load += new System.EventHandler(this.Page_Load);
  }
  #endregion
  //读取频道的编号
  private int _class_id=0;
  public int class_id
  {
   set
   {
    _class_id=value;
   }
   get
   {
    return(_class_id);
   }
  }
  //显示内容的文件
  private string _show_file="show_news_content.aspx";
  public string show_file
  {
   set
   {
    _show_file=value;
   }
   get
   {
    return(_show_file);
   }
  } 
  //读取数据(前三条)
  private void get_data()
  {
   System.Text.StringBuilder strsql=new System.Text.StringBuilder();
   strsql.Append("select top 3 news_id,news_pic,news_title,news_changedate from news_tb ");
   strsql.Append(" where news_class="+class_id +" order by news_changedate desc");
   DataTable dt=new DataTable();
   functions fs=new functions();
   dt=fs.get_dataset(strsql.ToString()).Tables[0];
   if (dt.Rows.Count>0)
   {
    for (int i=0;i<dt.Rows.Count;i++)
    {
     get_imgs+=dt.Rows[ i]["news_pic"].ToString()+",";
     get_links+=this.show_file+"?id="+dt.Rows[ i]["news_id"].ToString()+",";
    }
    if (get_imgs.Length>0)
    {
     get_imgs=get_imgs.Substring(0,get_imgs.Length-1);
    }
    if (get_links.Length>0)
    {
     get_links=get_links.Substring(0,get_links.Length-1);
    }
   }
   dt.Dispose();
  }
 }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐