Understanding Page Inheritance in ASP.NET 2.0


Posted on November 19, 2008


以前没有认真想过ASP.NET的页面模型到底是什么样的,光做简单的开发,没什么太大的意思,现在想深入研究一下,嘿嘿,档次不一样了吧。。。

我一直存在这样的疑问:

在ASP.NET中,Default2.aspx和Default2.aspx .cs是不是两个类?如果是的话,在这里我也称之为前台类和后台类

Default2.aspx .cs中,代码是这样的:

public partial class Default2 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
 
    } 
}

Default2有partial 修饰,是不是说前台类和后台类是不是都是partial类?编译的时候会合成?

在Default2.aspx中,有这样的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

是不是说前台类和后台类是继承的关系?

总结陈词:这两个既是partial 类,又是继承的关系?

想到这里,其实非常可笑,partial 类怎么能可能出现继承关系呢?partial 意味着类名是相同的,如何可能继承:

public partial class test :test
{
	public string s1 = "jm1";
	public void print()
	{
		Console.WriteLine(base.s1);
	}
}
public partial class test
{
	public string s2 = "test2";
}

这种情况编译都能不过,开玩笑~~~

关键时候还是MS的帮助文档管用,可以看看这两篇文章:

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_aspnetcon/html/81b13e7a-b95b-4285-906f-d2dd77411417.htm

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_aspnetcon/html/01e87387-33f4-45b5-91ec-6c540afe7ee0.htm

还有一篇文章推荐一下:http://www.west-wind.com/WebLog/posts/3016.aspx,有例子,可以用.NET Reflector查看相关代码


标签:N/A

 

在线学习答案查询入口
微信扫码联系
微信扫码联系