有人可以解释aspx页面布局吗?

时间:2011-11-27 04:01:52

标签: asp.net vb.net

我一直在审查由前同事撰写的asp.net应用程序。

有以下文件:

default.aspx and default.aspx.vb
writers.aspx and writers.aspx.vb
forms.aspx and forms.aspx.vb
main.aspx and main.aspx.vb

这就是我迷茫的地方。

Default.aspx says:
**CodeBehind="Default.aspx.vb" Inherits="ABA_Reports.Main" %>**

Default.aspx.vb says:
**Partial Public Class Main**

Just to give one more example,

writers.aspx says:
**CodeBehind="Reporter.aspx.vb" Inherits="ABA_Reports._Default" %>**

While writers.aspx.vb has:
**Partial Public Class _Default**

有人会友好地向我解释这是如何运作的吗?

2 个答案:

答案 0 :(得分:1)

基本上,ASP.NET允许您将网页的定义分为两部分。一个是声明性页面,您可以使用标签(HTML,ASP或其他标签)定义页面的布局。页面的声明部分具有“.aspx”扩展名。

此外,网页的另一部分通常在单独的文件中定义,称为“代码隐藏”文件。在您的情况下,使用VB,这些文件的名称与页面的声明部分相同,但扩展名为“.aspx.vb”。

在页面的声明部分,您提到的代码,

...CodeBehind="Default.aspx.vb" Inherits="ABA_Reports.Main" %>

表示此页面的代码隐藏在文件Default.aspx.vb中。它还告诉您页面的声明部分继承自代码隐藏文件中定义的Main命名空间中的ABA_Reports类。

Inherits 属性告诉您在代码隐藏文件中使用哪个类。可能不是很清楚你可以在后面的代码中定义多个类。在许多情况下(默认情况下),只有一个,但继承会告诉您在任何情况下使用哪个。

以下是可以包含在@Page声明http://msdn.microsoft.com/en-us/library/ydy4x04a.aspx中的所有属性的完整说明。

在您的代码隐藏文件中,您会看到

Partial Public Class Main

这意味着后面的代码定义了“部分”类。所有部分真正意味着类的一部分是在当前页面中定义的,而其中的一部分是在其他地方定义的。

代码隐藏文件的主要目的是让您将运行页面的代码与HTML和asp以及可能定义其外观的其他标记分开。它还允许编译页面代码,从而提高性能。

答案 1 :(得分:0)

好的,默认命名空间是“ABA_Reports”。

在没有列出命名空间的情况下定义的所有类都将作为名称(路径)的开头。

这就是为什么当aspx页面引用代码隐藏(vb类)时,它使用ABA_Reports.name,其中name是vb文件的类名。

这是否说清楚了?