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

ASP.NET
从一个舆论调查的制作谈面向对象的编程思路(二)
从一个舆论调查的制作谈面向对象的编程思路(三)
从一个舆论调查的制作谈面向对象的编程思路(四)
从一个舆论调查的制作谈面向对象的编程思路(五)
c#写的五子棋程序,供学习WinForms的鼠标事件和使用GDI+
我对.Net技术中asp.net应用的一点看法
ASP.NET连SQL7接口源代码
ASP.NET中密码保护,MD5和SHA1算法的使用
微软的远程处理框架.NET Remoting - 1
微软的远程处理框架.NET Remoting - 2
黑客写出了针对.Net平台的反编译器
在config.web中保存数据库连接串
在ASP.Net中两种利用CSS实现多界面的方法
ASP.NET中如何调用存储过程
ASP.NET中取代ASP的RS(Remote Scripting)技术的Framework
刚学ASP.Net,学了个简单的计算器
ASP.NET 链接数据库基础
一个简单的加密/解密方法
加入身份验证信息的SMTP mail发送
webconfig的设置节点说明

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 165 ::
收藏到网摘: 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");<