第一个 ASP.NET 程序

作者:vkvi 来源:ITPOW(原创) 日期:2007-6-4
先看一个有问题的程序:
<%@ Page Language="C#" %>
<%
void Page_Load(object sender, EventArgs e)
{
    lb.Text = "Hello World";
}
%>
<!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>Hello World</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:Label runat="server" ID="lb"></asp:Label>
    </div>
    </form>
</body>
</html>

在 ASP.NET 中,不再是使用 <%%> 表示脚本区,而应该是 <script runat="server"></script>,runat="server" 不可少,表示是服务器端执行。

纠正后:

<%@ Page Language="C#" %>
<script runat="server">
void Page_Load(object sender, EventArgs e)
{
    lb.Text = "Hello World";
}
</script>
<!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>Hello World</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:Label runat="server" ID="lb"></asp:Label>
    </div>
    </form>
</body>
</html>

可以看到:

<%@ Page Language="C#" %> 指令表示当前页面使用的是 C# 语言。

在 <script runat="server"> 中,也可以指定语言,但并不表示同一个页面中可以使用多种语言。

Page_Load 是系统函数,表示页面读取时执行该函数。

object sender, EventArgs e,这两个参数分别表示触发事件的对象和事件参数,对于事件函数(比如按钮的 onclick 触发的函数)必须有这两个参数。注意大小写敏感。

<asp:Label runat="server" ID="lb"></asp:Label> 是 Web 控制元件,它源于 HTML 元件,但又比 HTML 元件功能强大得多。它以 asp 为前缀,冒号后接元件的名称,runat="server" 不能省略,ID 可以被 ASP.NET 直接引用,比如上述的:lb.Text = "Hello World";。

Web 控制元件必须有结束符,不能是:

<asp:Label runat="server" ID="lb">

应该是:

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

或者

<asp:Label runat="server" ID="lb" />
相关文章