vs2012,文件,新建,网站,名称=work001.

添加,新建项,web窗体,取消勾选《将代码放在单独的文件中》。

default.aspx

<%@ Page Language="C#" %>

<!DOCTYPE html>

<script runat="server">

    protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = "单击后时间"  + DateTime.Now.ToString();
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
        <br />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
    </form>
</body>
</html>

这种模式,按照我的理解,应该是早期asp的开发模式被保留下来了,像是为了兼容asp。这种写代码的方式,比较类似php的。

但是我估计,<script>之间的代码,只能够放在页面首部,不能放在其他位置的。

结果我猜错了。

放在尾部,可以!

<%@ Page Language="C#" %>

<!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></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
        <br />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

    </div>
    </form>
</body>
</html>

<script runat="server">

    protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = "单击后时间"  + DateTime.Now.ToString();
    }
</script>

放在中部,可以!

<%@ Page Language="C#" %>

<!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></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
        <br />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        <script runat="server">

            protected void Button1_Click(object sender, EventArgs e)
            {
                Label1.Text = "单击后时间"  + DateTime.Now.ToString();
            }
        </script>
    </div>
    </form>
</body>
</html>


以上证明,这就是asp的兼容模式。而且和php一样的。

只过不脚步需要注明runat = server。