当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 亲密接触ASP+(2)

ASP.NET
Asp.net 时间操作基类(支持短日期,长日期,时间差)
asp.net 获取机器硬件信息(cpu频率、磁盘可用空间、内存容量等)
asp.net 数据库备份还原(sqlserver+access)
Asp.Net 数据操作类(附通用数据基类)
Asp.net 弹出对话框基类(输出alet警告框)
Asp.net 文件上传类(取得文件后缀名,保存文件,加入文字水印)
Asp.net Socket客户端(远程发送和接收数据)
Asp.net 字符串操作基类(安全,替换,分解等)
Asp.Net数据输出到EXCEL表格中
asp.net Gridview里添加汇总行
asp.net UpdatePanel的简单用法
asp.net ajaxControlToolkit FilteredTextBoxExtender的简单用法
this connector is disabled错误的解决方法
sql事务应用积累
asp.net Page.Controls对象(找到所有服务器控件)
在asp.NET中字符串替换的五种方法
ASP.NET缓存方法分析和实践示例代码
asp.net 在DNN模块开发中遇到的resx怪问题
ASP.NET State service状态服务的问题解决方法
asp.net 结合mysql存储过程进行分页代码

ASP.NET 中的 亲密接触ASP+(2)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 105 ::
收藏到网摘: n/a

作者:http://www.aspcn.com 飞刀

上一节 ,我们简单介绍了ASP+的配制环境,我们这一节来谈谈ASP+的语法.其实当你装好NGWS后,他所带的文档是最好的学习ASP+的教程,要你E文足够好,以及很好的耐性,学习ASP+不是难事啦.我们这些家伙也是从这里学了很多的,这篇关于ASP+语法的文章,大多数也来自于M$的原文,最可惜的就是我们的服务器不能装上NGWS,有些例子,大家不能看到执行结果,不太好。不过有些地方,我会把执行结果显示出来的。我们开始这一节吧:)

一个ASP+页面的后缀名是".ASPX".它能够包含八种不同的语法标置元素.我们将在这篇文章中介绍这几种不同的语法,并且举出一个例子来显示它的用法。

<% %> 与 <%= %>

用过asp吗,用过,那么大家就不会对这个标签陌生了。呵呵,下面是一个简单的例子。他执行后的结果我想我不写不出来,大家也都知道啦。这个就不多谈了,呵呵.

<% for (int i=0; i<8; i++)
{
%>
<font size="<%=i%>"> Hello World! </font> <br>
<% } %>

上面的例子中<% %>之间的程序将会被执行,并显示出的结果,<%="Hello World" %>就等于<% Response.Write ("Hello World") %>

注意:在C#中,是以分号(;)做为分隔符,但是我们要注意一些事情。

 

C# code
<% Response.Write("Hello World"); %> 这里的分号是必须的
<%="Hello World"; %> 这样写会有一些小问题就是,显示的结果是 "Response.Write("Hello World";);"
<%="Hello World" %> 正确

声明代码的语法: <script runat="server">
这段代码定义了这个区域中的代码将会进行编绎。在下面的例子中我们演示了一个名为"Substract"方法是如何在<script runat="server">中被声明的。

<script language="C#" runat=server>
int subtract(int num1, int num2)
{
return num1 - num2;
}
</script>

<%
...
number = subtract(number, 1);
...
%>

重要问题:ASP+不像ASP,在ASP中所能的函数得在<% %>区域中声明,但是在ASP+中所有函数和变量都必须在<script runat=server></script>区域中声明。否则,aspx编译时会出现错误.

ASP+ 服务器端控件语法

服务器上的控件使用开发者能够动态产生HTML页面,并发送给客户(如Netscape和IE所产生的JavaScript是不同的。还有普通浏览器和WAP浏览所收到的页面也是不同的).他们对象的声明也是运用了标签。但是他们和其它的标签是不同的。因为他们包含有一个"runat=server"属性。(呵呵,这个属性我们在ASP中也用过,不过功能就...)。下面的例子演示了<asp:lable runat="server">控件的使用方法。

<html>

<script language="C#" runat=server>

void Page_Load(Object sender, EventArgs e) {
Message.Text = "Welcome to ASP+";
}

</script>

<body>

<asp:label id="Message" font-size=24 runat=server/>

</body>

</html>


上面的源代码中我们加入ID为 "Message":

<asp:label id="Message" font-size=24 runat="server"/>


看了上面的代码,是不是发现我们在写VB程序,呵呵,先搭好骨架,然后再一个个的去编写他们事件处理。这就是M$给我们的新概念.


ASP+ Html 服务器控件语法

HTML服务器控件,使开发者程序化的操作HTML元素。一个HTML服务器控件只是比普通HTML元素多了一个"runat=server"属性。下面的例子具体演示了HTML服务控件的用法。

<script language="C#" runat=server>
void Page_Load(Object sender, EventArgs e) {
Message.InnerHtml = "Welcome to ASP+";
}
</script>
...
<span id="Message" style="font-size:24" runat=server/>

他执行的结果和第一个程序的结果是一样的


数据捆绑(Databinding)语法 <%# %>

数据捆绑技术使得ASP+开发者能够很形像地把控件的属性与数据容器的值联系起来.在<%# %>这个区域内的代码只有在"DataBind"方法调用后才会被执行。下面的例子就演示了它的用法。

<asp:datalist id="MyList" runat=server>
<template name="ItemTemplate">
Here is a value: <%# Container.DataItem %>
</template>
</asp:datalist>

通过这种方法使得名为"MyList"的控件程序化,这时就该调用DataBind()方法了。
<font color="#FF6600">
void Page_Load(Object sender, EventArgs e)<br>
{ ArrayList items = new ArrayList(); <br>
items.Add("One"); <br>
items.Add("Two");<br>
items.Add("Three");<