您的位置: 网站首页 > 程序开发 > C#程序设计 > 第12章 ASP.NET网络开发 > 【12.2 ASP.NET语法】

12.2 ASP.NET语法

 

ASP.NET程序的开发非常复杂,开发的过程类似于Windows窗体应用程序,本章将向读者介绍ASP.NET应用程序开发中的相关语法知识。

12.2.1  剖析ASPX页面

ASPX页面是以.aspx为扩展名的文件,页面由代码和标记组成。这些ASPX页面在服务器上动态地编译和被执行,为提出请求的客户端浏览器(如Internet Explorer)或设备生成显示内容。ASPX页面可以被部署在IIS虚拟目录树之下,也可以是其他支持ASP.NETWeb服务器。

当浏览器客户端请求ASPX页面资源时,ASP.NET运行时对目标文件进行分析,并把它编译成.NET框架类,这个类就可以用于动态地处理请求。ASPX页面只在第一次被访问时才编译,编译形成的类型实例以后供多个请求重复使用。

最简单的产生ASPX页面的办法是将一个已有的HTML文件后缀名更改为.aspx,也可以在Visual Studio 2005中编写。下面介绍如何在Visual Studio 2005中生成ASPX页面。

1.目的说明

创建一个网站,演示如何生成ASPX页面。

2.实现步骤

1)创建一个名为FirstASPX的网站,如图12-6所示。

12-6  创建网站

2Visual Studio 2005已经为用户创建了一个默认的default.aspx页面,修改default.aspx文件的内容如下:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    <title>ASPX</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

    ASPX页面

    </div>

    </form>

</body>

</html>

3.运行结果

Ctrl+F5组合键运行程序,运行结果如图12-7所示。

12-7  运行结果

4.代码分析

代码中给出了ASPX页面的标题和简单的文本。可以从结果中看到,标题更改为ASPX页,网页的内容为ASPX页面。

12.2.2  使用<% %>嵌入代码

上一小节的实例中没有体现任何动态的特性,本小节介绍<% %>的使用方法。使用<% %>可以嵌入代码。

1.目的说明

创建一个网站,演示如何向ASPX页面中嵌入代码。

2.实现步骤

1)创建一个名为CodeIn的网站。

2Visual Studio 2005已经为用户创建了一个默认的default.aspx页面,修改default.aspx文件的内容如下:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs"

Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://

www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    <title>嵌入代码</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

    <%

      for (int i = 0; i < 10; i++)

      {

    %>

   

    <%= "" + i.ToString() + " "%>

   

    <%= "<br>"%>

   

    <%

      }

    %>

    </div>

    </form>

</body>

</html>

3.运行结果

Ctrl+F5组合键运行程序,运行结果如图12-8所示。

12-8  运行结果

4.代码分析

代码中使用<% %>嵌入了一个简单的for循环,该循环的语法和Windows控制台程序以及Windows窗体应用程序中相同。<%= %>是一种简便的向网页输出的书写格式,功能类似于Console.WriteLine

12.2.3  使用<Script>...</Script>嵌入代码

<Script>...</Script>是一种代码声明块,定义嵌入ASP.NET应用程序文件内使用runat="server"属性标记的script块中的服务器代码。

1.目的说明

创建一个网站,演示如何向ASPX页面中嵌入代码。

2.实现步骤

1)创建一个名为ScriptIn的网站。

2Visual Studio 2005已经为用户创建了一个默认的default.aspx页面,修改default.aspx文件的内容如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"

Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.

w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>ScriptIn</title>

</head>

<body>

    <form id="form1" runat="server">

        <div>

 

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

                void EnterBtn_Click(Object Src, EventArgs E)

                {

                    Message.Text = "你好" + Name.Text + ", 这是嵌入代码!";

                }

            </script>

 

            输入你的名字:

            <asp:TextBox ID="Name" runat="server" />

            <asp:Button ID="Button1" Text=" " _disibledevent="EnterBtn_Click"

runat="server" />

            <p>

                <asp:Label ID="Message" runat="server" />

        </div>

    </form>

</body>

</html>

3.运行结果

Ctrl+F5组合键运行程序,运行结果如图12-9所示。

12-9  运行结果

4.代码分析

代码中使用<Script>...</Script>嵌入了一个简单事件处理程序,执行“确定”按钮被按下后的处理方法。可以看到,代码的方式基本类似于Windows窗体应用程序中的事件处理程序,使用非常方便。

12.2.4  使用Server控件

上一小节中已经使用了3Server控件,其代码部分如下:

<asp:TextBox ID="Name" runat="server" />

<asp:Button ID="Button1"Text=""OnClick="EnterBtn_Click" runat="server"/>

<p>

   <asp:Label ID="Message" runat="server" />

分别是TextBox控件、Button控件和Label控件。从名称上可以看出,ASP.NET中一些常用控件的名称和Windows窗体应用程序中名称相同,同样其功能也类似。这些控件不仅可以通过代码的形式写出,也可以通过类似窗体设计器的页面设计器进行拖放式设计。Visual Studio 2005提供的控件工具箱如图12-10所示。可以使用拖放的方式进行设计,如图12-11所示。

        

12-10  运行结果                              12-11  运行结果

12.2.5  使用<%--注释--%>

服务器端注释允许开发人员在ASP.NET应用程序文件的任何部分(除了<script>代码块内部)嵌入代码注释。服务器端注释元素的开始标记和结束标记之间的任何内容,无论是ASP.NET代码还是文本,都不会在服务器上进行处理或呈现在结果页上。

ASP.NET服务器端注释块与传统的语言特定注释块具有相同的用法(包括文档和测试)。可以使用服务器端注释来描述文件的标记部分,或注释掉页面中声明的一个或多个服务器控件。这些注释可用于大多数类型的ASP.NET应用程序文件,包括网页、用户控件、Global.asax文件、母版页和外观文件

服务器端注释用于页面的主体,但不在服务器端代码块中使用。当在代码声明块(包含在<script runat="server"></script>标记中的代码)或代码呈现块(包含在<% %>标记中的代码)中使用特定语言时,应使用正用于编码的语言的注释语法。下面是一些注意事项。

·    如果在<% %>块中使用服务器端注释块,则会出现编译错误。

·    开始和结束注释标记可以出现在同一行代码中,也可以由许多被注释掉的行隔开。

·    服务器端注释块不能被嵌套。

12.2.6  <%@ Page...%>设置页面属性

<%@ Page...%>用于定义ASP.NET页分析器和编译器使用的页特定(.aspx文件)属性。

前面实例中的代码都包括该属性设置,如下的代码就是一段典型的设置:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"

Inherits="_Default" %>

其中说明了使用的语言为“C#”,代码文件为“Default.aspx.cs”等。该属性设置的参数非常多,有兴趣的读者应查阅相关的MSDN资料。

12.2.7  使用<%@ Import %>引入类库

<%@ Import %>用于将命名空间显式导入到ASP.NET应用程序文件(如网页、用户控件、母版页或Global.asax文件)中,同时使导入的命名空间的所有类和接口可用于文件。导入的命名空间可以是.NET Framework类库或用户定义的命名空间的一部分。

读者可以将其理解为ASP.NET中的using语句。