zoukankan      html  css  js  c++  java
  • 第一讲

    ⒈首先是关于日历的问题,要在初始化页面的代码段中写入Calendar1.SelectedDate=DateTime.Now来初始化日历控件使其显示的日期为当前的日期。

    ⒉另外是广告,广告控件设计到一个XML文件的问题。可以这样理解,广告控件的目的是将制定的XML文件以及有关的图片文件按设置显示出来。
    比如说以下Ad.xml文件
     1<?xml version="1.0" encoding="utf-8" ?>
     2<Advertisements>
     3    <Ad>
     4        <ImageUrl>./image/hp1.gif</ImageUrl>
     5        <NavigateUrl>http://www.yesky.com</NavigateUrl>
     6        <AlternateText>欢迎访问!</AlternateText>
     7        <Keyword>Computers</Keyword>
     8        <Impressions>4</Impressions>
     9    </Ad>
    10    <Ad>
    11        <ImageUrl>./image/hp2.gif</ImageUrl>
    12        <NavigateUrl>http://www.yesky.com</NavigateUrl>
    13        <AlternateText>欢迎访问!</AlternateText>
    14        <Keyword>Computers</Keyword>
    15        <Impressions>3</Impressions>
    16    </Ad>
    17    <Ad>
    18        <ImageUrl>./image/hp3.gif</ImageUrl>
    19        <NavigateUrl>http://www.yesky.com</NavigateUrl>
    20        <AlternateText>欢迎访问!</AlternateText>
    21        <Keyword>Computers</Keyword>
    22        <Impressions>2</Impressions>
    23    </Ad>
    24    <Ad>
    25        <ImageUrl>./image/hp4.gif</ImageUrl>
    26        <NavigateUrl>http://www.yesky.com</NavigateUrl>
    27        <AlternateText>欢迎访问!</AlternateText>
    28        <Keyword>Computers</Keyword>
    29        <Impressions>1</Impressions>
    30    </Ad>
    31</Advertisements>
    然后在我的default.aspx文件的前台代码中写入
    <asp:AdRotator id="adrot1" BorderWidth="1" runat="server" AdvertisementFile="Ad.xml" />
    这样,在该页面显示的时候,就对应地显示出4张图片了,并且对应地址为xml文件中的
    ImageUrl节点中的内容,
    NavaigateUrl为点击图片的时候指向的超链接地址,
    AlternateText指鼠标悬停在图片上的时候显示的文字,
    Keyword为分类,
    Impressions为每次刷新广告显示的几率


    ⒊计数器:
    在计数器这个单项里面值得注意的有四点。
    第一:在Global.asax.cs里面的一些事件里面写下相应的处理方法。例如:Application_Start事件里面对应的是应用程序开始运行的时候触发的事件。Session_Start事件对应每次会话开始的时候发生,而Session_End事件则在会话结束时发生。

    第二:在邵老师计数器的解决方案中,采取的是读取Counter.txt文本文件中的数字来表示和记录网站访问人数的:首先在Application_Start事件中读取已经存在的数据,代码如下:
    1StreamReader sr=new StreamReader(Server.MapPath("Counter.txt"));
    2            int iNum=int.Parse(sr.ReadLine());
    3            Application.Lock();
    4            Application["Counter"]=iNum;
    5            Application.UnLock();
    6            sr.Close();
    然后在Session_Start事件中更新Application["Counter"]的值,并将其写回到Counter.txt中,代码如下:
    1Application.Lock();
    2            Application["Counter"]=Convert.ToInt32(Application["Counter"])+1;
    3            Application.UnLock();
    4            StreamWriter sw=new StreamWriter(Server.MapPath("Counter.txt"),false);
    5            sw.Write(Application["Counter"]);
    6            sw.Close();
    第三:用图片将计数器里面的数字表示出来。代码如下:
     1    System.Web.UI.WebControls.Image Img;
     2            Label lbl;
     3            string count  ;
     4            String graph;
     5            lbl=new Label();
     6            lbl.Text="该站点已被访问次数:";
     7            Container.Controls.Add(lbl);
     8            count =Application["Counter"].ToString();
     9            for (int i=0;i<count.Length;i++)
    10            {
    11                Img=new System.Web.UI.WebControls.Image();       //动态生成Image控件
    12                graph=count.Substring(i,1);
    13                Img.ImageUrl=graph + ".gif";
    14                Container.Controls.Add(Img);  //加载到控件容器
    15            }
    在这里需要学习的在于动态生成图片的原理。
    第四:Html代码依赖后台处理代码的不同方式。这里就涉及到AutoEventWireup属性了,这个属性一般写在* aspx文件的代码顶部,如下所示:
    <%@ Page  language="c#" Codebehind="Counter.aspx.cs" AutoEventWireup="false" Inherits="CASE1._2Counter.Counter"%>

    默认的AutoEventWireup的属性值为true,此时该页面依赖的逻辑代码写在前台脚本中,如果声明为true以后,则逻辑代码写在Codebehind的属性值所指的*.cs文件中。

    将代码写在后台*.cs文件中是常见的方法,而将代码写在前台页面中的时候,则不能写太长以免影响前台代码的可阅读性,这样,就可以利用语句


     

     1<head>
     2    <Title>使用全站点计数器</Title> 
     3    <!--#Include file="GlobCount.inc"-->
     4        <script language="c#" runat="server">
     5private void TestT(Object sender,System.EventArgs e)
     6{
     7        Test();
     8}

     9        
    </script>
    10        </head>
    这里的inc文件包含在项目中,是一个文本文件,用来存储逻辑代码:如
     1<script language=c# runat="server">
     2void GlobalGraph(Panel Container)
     3 {
     4        Image Img;
     5        Label lbl;
     6        string count  ;
     7        String graph;
     8        lbl=new Label();
     9        lbl.Text="该站点已被访问次数:";
    10        Container.Controls.Add(lbl);
    11        count =Application["Counter"].ToString();
    12        for (int i=0;i<count.Length;i++)
    13        {
    14           Img=new Image();       //动态生成Image控件
    15           graph=count.Substring(i,1);
    16           Img.ImageUrl=graph + ".gif";
    17           Container.Controls.Add(Img);  //加载到控件容器
    18        }
    19}
    20void Test()
    21{
    22    Response.Write("aa");
    23}
    24</script>
    这样,*.inc文件里面的所有方法以及变量就可以被页面里面的对象调用了。
  • 相关阅读:
    PRML 读书记录
    What’s the difference between Taxonomies and Ontologies? Ask Dr. Search
    C#中IP地址转换为数值的方法
    [转]读《简约至上》有感 及我的支语片言
    读《一名毕业生的程序员之路》有感
    [转载]温故知新 javascript 正则表达式
    [转]jQuery 1.9 移除了 $.browser 的替代方法
    QQ网盘首页,这样也能上线!做产品的人是白痴啊!
    [转]P3P解决cookie存取的跨域问题
    【转】跨浏览器“复制到粘贴板”JavaScript代码
  • 原文地址:https://www.cnblogs.com/bobox/p/689870.html
Copyright © 2011-2022 走看看