Asp.net 简明教程
ASP.NET - First Example
一个 ASP.NET 页面由许多服务器控件以及 HTML 控件、文本和图像组合而成。页面中的敏感数据和页面上不同控件的状态存储在隐藏字段中,这些字段构成了该页面请求的上下文。
ASP.NET 运行时控制页面实例及其状态之间的关联。一个 ASP.NET 页面是 Page 的对象或从它继承而来。
页面上的所有控件也是相关控件类的对象,继承自父控件类。当运行页面时,会创建一个对象的页面实例及其所有的内容控件。
ASP.NET 页面也是一个使用 .aspx 扩展名保存的服务器端文件。它本质上是模块化,可以分为以下核心部分:
-
Page Directives
-
Code Section
-
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。从浏览器中打开文件以执行它,它会生成以下结果:
Using Visual Studio IDE
让我们使用 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>
右键单击设计视图并从弹出菜单中选择“在浏览器中查看”来执行示例。这会生成以下结果: