ASP.NET页面由许多服务器控件以及HTML控件,文本和图像组成。来自页面的敏感数据和页面上不同控件的状态被存储在页面请求的上下文的隐藏字段中。
ASP.NET运行时控制页面实例与其状态之间的关联。ASP.NET页面是页面的一个对象或从其继承的页面。
页面上的所有控件也是从父Control
类继承的相关控件类的对象。运行页面时,会创建对象页面的一个实例及其所有内容控件。
ASP.NET页面也是以.aspx 扩展名保存的服务器端文件。它本质上是模块化的,可以分为以下几个核心部分:
- 页面指令
- 代码部分
- 页面布局
页面指令
Page
指令设置页面运行的环境。@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>
使用Visual Studio IDE
可使用Visual Studio IDE开发相同的示例。不用编写代码,只需将控件拖入设计视图即可。首先打开 Visual Studio,点击文件->新建 -> 项目,在左侧中选择:C#->Web,右侧关联项目选择:ASP.NET应用程序,并填写存储的目录位置, 如下所示 -
在接下来弹出的对话框中,选择空应用, 如下所示 -
打开解决方案资源管理器,项目的目录结构如下所示 -
在项目名称(HelloWorld)上点击右键,在弹出菜单项目中选择:添加->新建项,然后选择Web->Web窗体,填写文件的名称为:Default.aspx,如下所示 -
打开Default.aspx文件,然后从工具箱中拖放几个控件进入到设计视图中,如下所示 -
现在分别打开两个文件:Default.aspx 和 Default.cs,它们的完整实现代码如下 -
文件:Default.aspx -
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="HelloWorld.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>第一个ASP.NET程序</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="确定" />
结果是:<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
文件:Default.cs -
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace HelloWorld
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string buf = TextBox1.Text;
Label1.Text = buf.ToUpper();
}
}
}
运行项目
要运行项目,可以通过点击代码上面的“浏览器”运行,如下图 -
运行项目,得到以下结果 -
在输入框中输入一些字符,然后提交,这个应用程序会将输入的字符串转为大写并显示出来。如下所示 -
这样,第一个ASP.Net项目的程序就运行完成了。