做首页图片显示效果程序总结

实现了:

1、图片的特效转换:从网上找到的特效代码,原文只有图片,没有链接,在新文化报www.xwhb.net找到了带链接的代码.VBS的,不是IE浏览器好像看不了。

2、VBS与后台数据的交换

用的是前台Hidden文本框的办法,要转为服务器端程序。后台才能读取到它的值。

3、将HTML转为纯文字的正则:

System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"(<[a-zA-Z]+[^>]*>)|(</[a-zA-Z/d]+>)|(<!--[^~]*-->)|(&nbsp;)|(&gt)");
    str = regex.Replace(str, "");

前台程序:

<%@ Page language="c#" Codebehind="ShowPic.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>WebForm1</title>
  <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
  <meta content="C#" name="CODE_LANGUAGE">
  <meta content="JavaScript" name="vs_defaultClientScript">
  <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
 </HEAD>
 <BODY bgColor="#ffffff">
  <TABLE height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
   <TR id="CanRunScript">
    <TD vAlign="top" width="50%" height="100%"><INPUT id="Hidden1" type="hidden" name="Hidden1" runat="server">&nbsp;&nbsp;&nbsp;
     <INPUT id="Hidden2" type="hidden" name="Hidden2" runat="server">&nbsp;&nbsp;&nbsp;
     <a id="Link" target="_blank"><IMG id="Img" height="150" width="180" border="0" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; FILTER: revealTrans(duration=2,transition=6); BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid"> </a>
    </TD>
    <TD vAlign="middle" width="50%">
     <p style="TEXT-INDENT: 20pt; LINE-HEIGHT: 15pt" align="left"><font style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; TEXT-DECORATION: none"><%=JianJie%></font><br>
      <A href="news_view.asp?newsid=<%=NewId%>" target=_blank >
       <p align="right"><font style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #000099; FONT-FAMILY: 宋体; TEXT-DECORATION: none">详细内容请看...</font></p>
      </A>
     <P></P>
    </TD>
   </TR>
   <TR style="DISPLAY: none">
    <TD colSpan="2"><IMG id="TempImg" height="150" width="180" border="0" style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; FILTER: revealTrans(duration=2,transition=6); BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid"></TD>
   </TR>
  </TABLE>
  <SCRIPT language="VBScript">
  Dim FileList,FileListArr,LinkList,LinkArr
  FileList = document.all.Hidden1.value
  LinkList = document.all.Hidden2.value

   FileListArr = Split(FileList,",")
   LinkArr = Split(LinkList,",")
   Dim CanPlay
   CanPlay = CInt(Split(Split(navigator.appVersion,";")(1)," ")(2))>5
   Dim FilterStr
   FilterStr = "RevealTrans(duration=2,transition=23)"
   FilterStr = FilterStr + ";BlendTrans(duration=2)"
   If CanPlay Then
   FilterStr = FilterStr + ";progid:DXImageTransform.Microsoft.Fade(duration=2,overlap=0)"
   FilterStr = FilterStr + ";progid:DXImageTransform.Microsoft.Wipe(duration=3,gradientsize=0.25,motion=reverse)"
   Else
   Msgbox "幻灯片播放具有多种动态图片切换效果,但此功能需要您的浏览器为IE5.5或以上版本,否则您将只能看到部分的切换效果。",64
   End If
   Dim FilterArr
   FilterArr = Split(FilterStr,";")
   Dim PlayImg_M
   PlayImg_M = 5 * 1000  '切换时间(毫秒)
   Dim I
   I = 1
   Sub ChangeImg
   Do While FileListArr(I)=""
   I = I + 1
   If I>UBound(FileListArr) Then I = 0
   Loop
   Dim J
   If I>UBound(FileListArr) Then I = 0
   Randomize
   J = Int(Rnd * (UBound(FilterArr)+1))
   Img.style.filter = FilterArr(J)
   Img.filters(0).Apply
   Img.Src = FileListArr(I)
   Img.filters(0).play
   Link.Href = LinkArr(I)
   I = I + 1
   If I>UBound(FileListArr) Then I = 0
   TempImg.Src = FileListArr(I)
   SetTimeout "ChangeImg", PlayImg_M,"VBScript"
   End Sub
  </SCRIPT>
  <Script Language="VBScript">
   'NoScript.Style.Display = "none"
   CanRunScript.Style.Display = ""
   Img.Src = FileListArr(0)
   Link.Href = LinkArr(0)
   SetTimeout "ChangeImg", PlayImg_M,"VBScript"
  </Script>
 </BODY>
</HTML>
后台:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;

namespace WebApplication1
{
 /// <summary>
 /// WebForm1 的摘要说明。
 /// </summary>
 public class WebForm1 : System.Web.UI.Page
 {
  protected System.Web.UI.HtmlControls.HtmlInputHidden Hidden1;
  protected System.Web.UI.HtmlControls.HtmlInputHidden Hidden2;
  public string JianJie;
  public int NewId=0;

  public void ReadMyData(string myConnString)
  {
   string TempString="";
   string mySelectQuery ="select top 3 pic from news where lm='12' and pic<>' ' order by ontop,id desc";
   OleDbConnection myConnection = new OleDbConnection(myConnString);
   OleDbCommand myCommand = new OleDbCommand(mySelectQuery,myConnection);
   myConnection.Open();
   OleDbDataReader myReader;
   myReader = myCommand.ExecuteReader();
   while (myReader.Read())
   {
    TempString=myReader.GetString(0).ToString();
    Hidden1.Value+=TempString+",";
   }
   myReader.Close();
   myConnection.Close();
   Hidden1.Value.Remove(Hidden1.Value.Length-1,1);
     
  }

  public void ReadMyDataUrl(string myConnString)
  {
   string TempString="";
   string mySelectQuery ="select top 3 id from news where lm='12' and pic<>' ' order by ontop,id desc";
   OleDbConnection myConnection = new OleDbConnection(myConnString);
   OleDbCommand myCommand = new OleDbCommand(mySelectQuery,myConnection);
   myConnection.Open();
   OleDbDataReader myReader;
   myReader = myCommand.ExecuteReader();
   int i=0;
   while (myReader.Read())
   {
    TempString="http://www.qhschool.com/pubnews/news_view.asp?newsid="+myReader.GetInt32(0).ToString();
    Hidden2.Value+=TempString+",";
    if(i==0) NewId=myReader.GetInt32(0);
    i++;
   
   }
   myReader.Close();
   myConnection.Close();
   Hidden2.Value.Remove(Hidden2.Value.Length-1,1);
  }

   

  public string ReadMe(string myConnString)
  {
   string TempString="";
   string mySelectQuery ="select top 1 content from news where lm='12' and pic<>' ' order by ontop,id desc";
   OleDbConnection myConnection = new OleDbConnection(myConnString);
   OleDbCommand myCommand = new OleDbCommand(mySelectQuery,myConnection);
   myConnection.Open();
   OleDbDataReader myReader;
   myReader = myCommand.ExecuteReader();
   
   while (myReader.Read())
   {
     TempString=myReader.GetString(0).ToString();
          
   }
   myReader.Close();
   myConnection.Close();
   return TempString;
  }

  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   if(!IsPostBack)
   {
    ReadMyData("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("pubnews//data//newdata//admin.asp")+";User Id=admin;Password=;");
    ReadMyDataUrl("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("pubnews//data//newdata//admin.asp")+";User Id=admin;Password=;");


    string str = ReadMe("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("pubnews//data//newdata//admin.asp")+";User Id=admin;Password=;");
    System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"(<[a-zA-Z]+[^>]*>)|(</[a-zA-Z/d]+>)|(<!--[^~]*-->)|(&nbsp;)|(&gt)");
    str = regex.Replace(str, "");
    JianJie=str.Substring(1,80)+"...";
   }
   
      
  }

  #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

 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值