Asp.net 简明教程

ASP.NET - First Example

一个 ASP.NET 页面由许多服务器控件以及 HTML 控件、文本和图像组合而成。页面中的敏感数据和页面上不同控件的状态存储在隐藏字段中,这些字段构成了该页面请求的上下文。

ASP.NET 运行时控制页面实例及其状态之间的关联。一个 ASP.NET 页面是 Page 的对象或从它继承而来。

页面上的所有控件也是相关控件类的对象,继承自父控件类。当运行页面时,会创建一个对象的页面实例及其所有的内容控件。

ASP.NET 页面也是一个使用 .aspx 扩展名保存的服务器端文件。它本质上是模块化,可以分为以下核心部分:

  1. Page Directives

  2. Code Section

  3. Page Layout

Page Directives

页面指令设置了页面运行的环境。@Page 指令定义了 ASP.NET 页面解析器和编译器使用的特定于页面的属性。页面指令指定页面应该如何被处理,以及需要对页面做出哪些假设。

它允许导入命名空间、加载程序集并使用自定义标记名称和命名空间前缀注册新控件。

Code Section

代码部分提供页面和控件事件的处理程序以及其他所需的功能。我们提到了,ASP.NET 遵循对象模型。现在,当在用户界面上发生某些事件,比如用户单击按钮或移动光标时,这些对象会触发事件。这些事件需要响应的响应类型编写在事件处理程序函数中。事件处理程序就是绑定到控件的函数。

代码部分或代码隐藏文件提供所有这些事件处理程序例程,以及开发人员使用的其他函数。页面代码可以预编译并以二进制程序集的形式部署。

Page Layout

页面布局提供页面的界面。它包含服务器控件、文本、内联 JavaScript 和 HTML 标记。

以下代码片段提供了一个示例 ASP.NET 页面,解释了用 C# 编写的页面指令、代码部分和页面布局:

<!-- directives -->
<% @Page Language="C#" %>

<!-- code section -->
<script runat="server">

   private void convertoupper(object sender, EventArgs e)
   {
      string str = mytext.Value;
      changed_text.InnerHtml = str.ToUpper();
   }
</script>

<!-- Layout -->
<html>
   <head>
      <title> Change to Upper Case </title>
   </head>

   <body>
      <h3> Conversion to Upper Case </h3>

      <form runat="server">
         <input runat="server" id="mytext" type="text" />
         <input runat="server" id="button1" type="submit" value="Enter..." OnServerClick="convertoupper"/>

         <hr />
         <h3> Results: </h3>
         <span runat="server" id="changed_text" />
      </form>

   </body>

</html>

将此文件复制到 Web 服务器根目录。通常为 c:\iNETput\wwwroot。从浏览器中打开文件以执行它,它会生成以下结果:

asp.net first example
asp.net first example

Using Visual Studio IDE

让我们使用 Visual Studio IDE 开发同一示例。您可以将控件拖到设计视图中,而不是键入代码:

asp.net first example2

内容文件会自动开发。您需要添加的就是 Button1_Click 例程,如下所示:

protected void Button1_Click(object sender, EventArgs e)
{
   string buf = TextBox1.Text;
   changed_text.InnerHtml = buf.ToUpper();
}

给出的内容文件代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"
   Inherits="firstexample._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>
         Untitled Page
      </title>
   </head>

   <body>

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

            <asp:TextBox ID="TextBox1" runat="server" style="width:224px">
            </asp:TextBox>

            <br />
            <br />

            <asp:Button ID="Button1" runat="server" Text="Enter..." style="width:85px" onclick="Button1_Click" />
            <hr />

            <h3> Results: </h3>
            <span runat="server" id="changed_text" />

         </div>
      </form>

   </body>

</html>

右键单击设计视图并从弹出菜单中选择“在浏览器中查看”来执行示例。这会生成以下结果:

asp.net first example3