• 滚动新闻的实现


      要实现滚动功能通常是用脚本代码编写而成的,很繁琐!这里给大家介绍用web控件实现其功能!实现这个功能的前提是要设计一个主从详细显示的数据库,为方便操作,我在系统给的NorthWind数据库中加入了两个表,这两个表结构很简单的!

    表一

    News Table

    create table tbl_News

    (

    newsId int primary key identity(1,1) Not null,

    newTitle varchar(50) Not null,

    dateCreated datetime

    )

     

    表二

    News Detail Table

    create table tbl_NewsDetail

    (

    dtlId int primary key identity(1,1) Not Null,

    newsId int foreign key references tbl_news,

    newsDetail varchar(8000)

    )

       完后,可以随意的输入些新闻的信息,要不然程序运行的时候,将看不到任何效果!
    关于代码的详细说明:
          1、建立的控件"Scrolling_News.ascx"放在文件夹“userControll”中,这只是为了便于有效管理!在该控件中,我放置了一个table控件,相应的HTML源码如下:
    <TABLE id="tblScrolling" cellSpacing="1" cellPadding="1" width="100%" border="0" runat="server">

    <TR id="rowScrolling" runat="server"></TR>

    </TABLE>
           这个控件主要是查找新闻主表,按照创建日期进行排序,给出当前新闻的宏观展示。相关代码如下:

       private void Page_Load(object sender, System.EventArgs e)

            {

               SqlConnection myCon = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);

                string strSql = "SELECT * FROM tbl_News order by dateCreated asc";

                string strScrolling = "";

                HtmlTableCell cellScrolling = new HtmlTableCell();

                SqlCommand myComd = new SqlCommand(strSql, myCon);

                SqlDataReader sqlRdr;

                try

                {

                    myCon.Open();

                    sqlRdr = myComd.ExecuteReader();

                    strScrolling = "<Marquee OnMouseOver='this.stop();' OnMouseOut='this.start();' direction='up' scrollamount='2' bgcolor='#000000' width='40%'>";

                    while (sqlRdr.Read())

                    {

                        strScrolling = strScrolling + "<a href='#' OnClick=" + "javascript:window.open('newsDetail.aspx?NewsId=" + sqlRdr.GetValue(0) + "','NewsDetail','width=400,height=400;toolbar=no;');" + "><font face='verdana' size='2' color='#ffffff'>" + sqlRdr.GetValue(1) + "</a>&nbsp;&nbsp;" + sqlRdr.GetValue(2).ToString() + "</font><br><br>";

                    }

                    strScrolling = strScrolling + "</Marquee>";

                    sqlRdr.Close();

                    cellScrolling.InnerHtml = strScrolling;

                    rowScrolling.Cells.Add(cellScrolling);

                }

                catch (Exception msg)

                {

                    Response.Write(msg.Message);

                }

                finally

                { 

                    myCon.Close();

                }

            } 

      2、在newsdetails.aspx中,其根据传递过来的新闻标号进行处理,读取对应的新闻详细信息,并将其内容添加到newsdetails.aspx页面中显示出来,该页面的大小等信息已经限定,表面上看来好象是以个弹出窗口的形式显示!详细的代码如下:
    private void Page_Load(object sender, System.EventArgs e)

            {

             

                SqlConnection myCon = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);

                string strSql = "SELECT newsDetail FROM tbl_NewsDetail WHERE newsId=" + Convert.ToInt32(Request.QueryString["NewsId"]);

                HtmlTableCell cellNewsDetail = new HtmlTableCell();

                SqlCommand myComd = new SqlCommand(strSql, myCon);

                SqlDataReader sqlRdr;

                try

                {

                    myCon.Open();

                    sqlRdr = myComd.ExecuteReader();

                    if (sqlRdr.Read())

                    {

                       cellNewsDetail.InnerText = sqlRdr.GetValue(0).ToString();

                        rowNewsDetail.Cells.Add(cellNewsDetail);

                    }

                    else

                    {

                        Response.Write("No Record found in the detail table");

                    }

                    sqlRdr.Close();

                }

                catch (Exception msg)

                {

                    Response.Write(msg.Message);

                }

                finally

                {

                    myCon.Close();

                }

            }

        到这一步就实现了滚动功能

  • 相关阅读:
    【秒杀系统】零基础上手秒杀系统(三):抢购接口隐藏 + 单用户限制频率
    【秒杀系统】零基础上手秒杀系统(二):令牌桶限流 + 再谈超卖
    【秒杀系统】从零开始打造简易秒杀系统(一):防止超卖
    EditPlus快捷键
    ant的安装及项目的发布
    Java 中类型转换
    navicat 结合快捷键
    go中安装Beego不成功笔记
    Excel中添加下拉框
    在Excel中把横行与竖列进行置换、打勾号
  • 原文地址:https://www.cnblogs.com/tanliang/p/1745587.html
Copyright © 2020-2023  润新知