<1>详情可参考:http://www.cnblogs.com/cpcpc/archive/2010/05/28/2123124.html
aspx页
<pre name="code" class="html">ASPX是前台,表示设计页面;ASPX.CS是后台,是代码功能实现,分开来设计是为了代码清晰,功能模块化。
CodeBehind="WebForm1.aspx.cs" 表示:指定后台文件的路径(即这个WebForm1.aspx这个前台文件所对应的后台文件的路径,这里指定后台文件的路径是WebForm1.aspx.cs)
Inherits表示继承;Inherits="Home.WebForm1"表示当前页面.即:webForm1.aspx 这个页面是继承Home命名空间下WebForm1这个类的(注意这个webForm1是一个类,你打开webForm1.aspx.cs这个文件可以看到public partial class WebForm1: System.Web.UI.Page 说明WebForm1这个类是继承Page类的),也可以继承其他页面,继承了其他页面,就可以使用其属性和方法.
//------------------------------------------------------------------------------------
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="webform.WebForm1" %>
<!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 id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<!---------------------在aspx页面输入C#代码的几种形式--------------->
<!---------------------输出10个"你好"--------------->
<% for (int i = 0; i < 10; i++) { Response.Write("你好"); } %>
<!---------------------输出10个"中国"-------------------------->
<%for (int i = 0; i < 10; i++) %>
<%{ %>
中国
<%} %>
<!---------------------输出10个"美国",这10个"美国"分10行显示的------------------->
<%for (int i = 0; i < 10; i++) %>
<%{ %>
<span>美国</span>
<%} %>
<!---------------------------------------------------------------------------->
<!--在aspx.cs里定义了一个返回值为int的Num方法,在这里调用Num方法,并输出该方法的返回值-->
<%=Num(5, 6)%>
<!---------------------------------------------------------------------------->
<!--在aspx.cs里定义了一个void的SayHello()方法,在这里调用SayHello()方法-->
<% SayHello();%>
</div>
</form>
</body>
</html>
aspx.cs页面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace webform
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//aspx.cs文件中存放有一个类(例如WebForm1),在你在浏览器输入地址(如:localhost:1555/webOne/WebForm1.aspx)向服务器请求该页面(WebForm1.aspx)时,ASP.NET就会将aspx.cs中的类作为基类,把当前的页面(aspx文件),编译生成一个新的类(例如了B,这个新的类就是下面所说的"当前类")然后交给.NetFramework去执行,执行完了之后生成HTML代码,然后以流的方式,再由这个服务器返回到浏览器,浏览器接收响应之后,它有把这个流转成HTML代码,然后显示在浏览器的界面上。
//因为这个新的类是继承WebForm1的,所以你在aspx页面也是可以访问aspx.cs页面的方法及属性的(当然,基类的方法或属性的最少访问级别是public,protected),然后由B类产生对象在服务器端生成HTML文件发送给客户端,所以说这里是继承关系【通俗的讲:其实际就是aspx页继承aspx.cs页】
//当你执行这个页面的时候,当前类(ASP.webform1_aspx )其实是当前页面这个类(WebForm1 )的子类, 这个当前类是ASP给你自动生成的
Response.Write(this.GetType()+"<br/>"); //获取当前类的类型 输出:ASP.webform1_aspx
Response.Write(this.GetType().BaseType);//获取当前类的父类型。输出webform.WebForm1 }
public int Num(int a,int b)
{
return a + b;
}
public void SayHello()
{
Response.Write("大家好"); }
}
}
}
}