作者:http://www.aspcn.com 飞刀
上一节 ,我们简单介绍了ASP+的配制环境,我们这一节来谈谈ASP+的语法.其实当你装好NGWS后,他所带的文档是最好的学习ASP+的教程,要你E文足够好,以及很好的耐性,学习ASP+不是难事啦.我们这些家伙也是从这里学了很多的,这篇关于ASP+语法的文章,大多数也来自于M$的原文,最可惜的就是我们的服务器不能装上NGWS,有些例子,大家不能看到执行结果,不太好。不过有些地方,我会把执行结果显示出来的。我们开始这一节吧:)
一个ASP+页面的后缀名是".ASPX".它能够包含八种不同的语法标置元素.我们将在这篇文章中介绍这几种不同的语法,并且举出一个例子来显示它的用法。
用过asp吗,用过,那么大家就不会对这个标签陌生了。呵呵,下面是一个简单的例子。他执行后的结果我想我不写不出来,大家也都知道啦。这个就不多谈了,呵呵.
1 for (int i=0; i<8; i++)
2{
3
4
5<font size="
6=i
7"> Hello World! </font>
8
9<br/>
10
11 }
上面的例子中
1之间的程序将会被执行,并显示出的结果,
2="Hello World"
3就等于
4 Response.Write ("Hello World")
5
6
7注意:在C#中,是以分号(;)做为分隔符,但是我们要注意一些事情。
8
9C# code
10
11 Response.Write("Hello World");
12 这里的分号是必须的
13
14
15="Hello World";
16这样写会有一些小问题就是,显示的结果是 "Response.Write("Hello World";);"
17
18
19="Hello World"
20 正确
21
22声明代码的语法:
23
24<script runat="server">
25这段代码定义了这个区域中的代码将会进行编绎。在下面的例子中我们演示了一个名为"Substract"方法是如何在<script runat="server">中被声明的。
26
27
28<script language="C#" runat=server>
29int subtract(int num1, int num2)
30{
31return num1 - num2;
32}
33</script>
34
35
36number = subtract(number, 1);
37
38
39重要问题:ASP+不像ASP,在ASP中所能的函数得在
40
41区域中声明,但是在ASP+中所有函数和变量都必须在
42
43<script runat="server"></script>
44
45区域中声明。否则,aspx编译时会出现错误.
46
47ASP+ 服务器端控件语法
48
49服务器上的控件使用开发者能够动态产生HTML页面,并发送给客户(如Netscape和IE所产生的JavaScript是不同的。还有普通浏览器和WAP浏览所收到的页面也是不同的).他们对象的声明也是运用了标签。但是他们和其它的标签是不同的。因为他们包含有一个"runat=server"属性。(呵呵,这个属性我们在ASP中也用过,不过功能就...)。下面的例子演示了
50
51<asp:lable runat="server">控件的使用方法。
52
53<html>
54
55<script language="C#" runat="server">
56
57
58void Page_Load(Object sender, EventArgs e) {
59Message.Text = "Welcome to ASP+";
60}
61
62</script>
63<body>
64<asp:label font-size="24" id="Message" runat="server/">
65</asp:label></body>
66</html>
67
68
69上面的源代码中我们加入ID为 "Message":
70
71<asp:label font-size="24" id="Message" runat="server"></asp:label>
72
73
74看了上面的代码,是不是发现我们在写VB程序,呵呵,先搭好骨架,然后再一个个的去编写他们事件处理。这就是M$给我们的新概念.
75
76
77ASP+ Html 服务器控件语法
78
79HTML服务器控件,使开发者程序化的操作HTML元素。一个HTML服务器控件只是比普通HTML元素多了一个"runat=server"属性。下面的例子具体演示了HTML服务控件的用法。
80
81<script language="C#" runat="server">
82void Page_Load(Object sender, EventArgs e) {
83Message.InnerHtml = "Welcome to ASP+";
84}
85</script>
86
87...
88<span id="Message" runat="server/" style="font-size:24">
89
90他执行的结果和第一个程序的结果是一样的
91
92
93数据捆绑(Databinding)语法 ```
94#
95
96
97数据捆绑技术使得ASP+开发者能够很形像地把控件的属性与数据容器的值联系起来.在
98#
99这个区域内的代码只有在"DataBind"方法调用后才会被执行。下面的例子就演示了它的用法。
100
101<asp:datalist id="MyList" runat="server">
102
103<template name="ItemTemplate">
104Here is a value:
105# Container.DataItem
106
107
108</template>
109</asp:datalist>
110
111通过这种方法使得名为"MyList"的控件程序化,这时就该调用DataBind()方法了。
112<font color="#FF6600">
113void Page_Load(Object sender, EventArgs e)<br/>
114{ ArrayList items = new ArrayList(); <br/>
115items.Add("One"); <br/>
116items.Add("Two");<br/>
117items.Add("Three");<br/>
118MyList.DataSource = items; <br/>
119MyList.DataBind(); <br/>
120} </font>
121Object标签语法: <object runat="server"></object>
122
123Object标签语法使得开发者能够使用就基本的标签就能声明和示例一个对象。如下:
124
125<object class="System.Collections.ArrayList" id="items" runat="server"></object>
126
127这个对象会在运行时自动建立,而且名字为items
128void Page_Load(Object sender, EventArgs e) {
129items.Add("One");
130items.Add("Two");
131items.Add("Three");
132...
133}
134
135
136注释语法:
137-- Comment --
138
139
140注释能使开发者阻止代码(包括控件)的执行或引用。下面的例子演示了这个语法的应用.
141
142
143--
144
145<asp:calendar id="MyCal" runat="server/">
146&lt;% for (int i=0; i&lt;45; i++) {
147
148Hello World <br/>
149
150 }
151
152\--%>
153
154SSI 语法: <\-- #Include File="Locaton.inc" -->
155
156写过最基本的HTML的兄弟对他不会陌生,所以也不想多讲啦:)
157
158<!-- #Include File="Header.inc" -->
159...
160<!-- #Include File="Footer.inc" -->