ASP.NET页面由许多服务器控件以及HTML控件,文本和图像组成.来自页面的敏感数据和页面上不同控件的状态存储在隐藏字段中,这些字段构成该页面请求的上下文.
ASP.NET运行时控制页面实例之间的关联和它的国家. ASP.NET页面是Page的对象或从其继承.
页面上的所有控件也是从父Control类继承的相关控件类的对象.运行页面时,将创建对象页面的实例及其所有内容控件.
ASP.NET页面也是使用.aspx扩展名保存的服务器端文件.它本质上是模块化的,可分为以下核心部分:
Page Directives
代码部分
页面布局
页面指令设置要运行的页面的环境. @Page指令定义ASP.NET页面解析器和编译器使用的特定于页面的属性. Page指令指定了页面的处理方式,以及需要对页面进行哪些假设.
它允许导入命名空间,加载程序集,并使用自定义标记名称和命名空间注册新控件前缀.
代码部分提供页面和控件事件的处理程序以及所需的其他功能.我们提到过,ASP.NET遵循一个对象模型.现在,当用户界面上发生某些事件时,这些对象会引发事件,例如用户单击按钮或移动光标.这些事件需要回应的响应类型在事件处理函数中进行编码.事件处理程序只是绑定到控件的函数.
代码部分或代码隐藏文件提供了所有这些事件处理程序例程以及开发人员使用的其他函数.页面代码可以以二进制程序集的形式进行预编译和部署.
页面布局提供页面的界面.它包含服务器控件,文本,内联JavaScript和HTML标记.
以下代码片段提供了一个示例ASP.NET页面,用于解释用C#编写的Page指令,代码段和页面布局:
<!-- 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 \ www.root.从浏览器打开文件以执行它,它会生成以下结果:
让我们使用Visual Studio IDE开发相同的示例.您可以将控件拖到设计视图中,而不是键入代码:
自动开发内容文件.你需要添加的是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>
通过右键单击设计视图并从弹出菜单中选择"在浏览器中查看"来执行该示例.这会产生以下结果: