第一讲
⒈首先是关于日历的问题,要在初始化页面的代码段中写入Calendar1.SelectedDate=DateTime.Now来初始化日历控件使其显示的日期为当前的日期。
⒉另外是广告,广告控件设计到一个XML文件的问题。可以这样理解,广告控件的目的是将制定的XML文件以及有关的图片文件按设置显示出来。
比如说以下Ad.xml文件
<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事件中读取已经存在的数据,代码如下:
第四:Html代码依赖后台处理代码的不同方式。这里就涉及到AutoEventWireup属性了,这个属性一般写在* aspx文件的代码顶部,如下所示:
<%@ Page language="c#" Codebehind="Counter.aspx.cs" AutoEventWireup="false" Inherits="CASE1._2Counter.Counter"%>
⒉另外是广告,广告控件设计到一个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文件的前台代码中写入![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
ImageUrl节点中的内容,
NavaigateUrl为点击图片的时候指向的超链接地址,
AlternateText指鼠标悬停在图片上的时候显示的文字,
Keyword为分类,
Impressions为每次刷新广告显示的几率
⒊计数器:
在计数器这个单项里面值得注意的有四点。
第一:在Global.asax.cs里面的一些事件里面写下相应的处理方法。例如:Application_Start事件里面对应的是应用程序开始运行的时候触发的事件。Session_Start事件对应每次会话开始的时候发生,而Session_End事件则在会话结束时发生。
第二:在邵老师计数器的解决方案中,采取的是读取Counter.txt文本文件中的数字来表示和记录网站访问人数的:首先在Application_Start事件中读取已经存在的数据,代码如下:
1
StreamReader 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中,代码如下:![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
1
Application.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();
第三:用图片将计数器里面的数字表示出来。代码如下:![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
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
}
在这里需要学习的在于动态生成图片的原理。![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
第四:Html代码依赖后台处理代码的不同方式。这里就涉及到AutoEventWireup属性了,这个属性一般写在* aspx文件的代码顶部,如下所示:
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
默认的AutoEventWireup的属性值为true,此时该页面依赖的逻辑代码写在前台脚本中,如果声明为true以后,则逻辑代码写在Codebehind的属性值所指的*.cs文件中。
将代码写在后台*.cs文件中是常见的方法,而将代码写在前台页面中的时候,则不能写太长以免影响前台代码的可阅读性,这样,就可以利用语句
1
<head>
2
<Title>使用全站点计数器</Title>
3
<!--#Include file="GlobCount.inc"-->
4
<script language="c#" runat="server">
5
private void TestT(Object sender,System.EventArgs e)
6
{
7
Test();
8
}
9
</script>
10
</head>
这里的inc文件包含在项目中,是一个文本文件,用来存储逻辑代码:如
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
1
<script language=c# runat="server">
2
void 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
}
20
void Test()
21
{
22
Response.Write("aa");
23
}
24
</script>
这样,*.inc文件里面的所有方法以及变量就可以被页面里面的对象调用了。
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)