ASP.NET部分页面类名称最佳实践

时间:2009-03-29 23:03:10

标签: c# asp.net vb.net class-design

在VS 2008中创建新的asp.net页面并选择后面的代码时,它还会创建典型的aspx.vb或aspx.cs文件。

在这些文件的顶部,VS将'Partial Class'命名为文件结构和/或aspx文件的名称。

问题:这是否有最好的做法?我可以只为我的应用程序中的所有页面使用单个类名,也可以只使用一个目录而不必为每个页面指定一个唯一的名称?

克里斯

5 个答案:

答案 0 :(得分:3)

我认为“部分类”的原因是允许Visual Studio将所有声明放在一个单独的文件中,这样它们就不会混淆代码隐藏。除了aspx.vb / cs文件之外,还有一个designer.vb / cs文件,其中包含所有控件声明。

请查看asp.net: partial classes and inheritance了解更多信息。

答案 1 :(得分:1)

代码隐藏特定于单个页面。搞乱它会打破aspx模型(参见aspx页面顶部的“inherits”或类似内容)。

每个aspx页面(在常规ASP.NET中)都应该有一个单独的类。

在ASP.NET MVC中,请注意单个控制器类通常与多个相关视图相关联(并且aspx / ascx在MVC中往往不具有代码隐藏)。

答案 2 :(得分:1)

在我们的项目中,由于大多数实际工作是通过服务器控件插入到服务器端标签的页面来完成的,因此我们实际上并不需要在大多数页面中使用代码隐藏。因此,我们的22个aspx页面中的大约18个甚至没有<%Page%>他们的指示。默认页面基类是从web.config文件中设置的:

    <pages masterPageFile="~/MasterPage.master" pageBaseType="OurProject.OurBasePageClass">
    </pages>

答案 3 :(得分:-1)

不,每个页面必须是不同的类(假设它们实际上在做不同的事情)。这是因为您实际上是为每个页面创建了Page的子类,然后使用您的特定行为覆盖默认逻辑。因此,每组行为(每个“页面类型”)都是不同的类。

答案 4 :(得分:-1)

对于许多ASPX页面,使用与“代码隐藏”相同的类实际上是很常见的。如果您发现自己在基页类及其关联的ASPX文件之间进行了大量的一对一操作,那么坚持使用默认模型是有意义的。但是,如果这对您的应用程序没有意义,那么没有什么可以阻止您将所有ASPX 继承属性指向同一个类。

当然,与任何事情一样,在打破规则之前学习规则总是最好的。普通的WebForms模型确实适合大多数用例,特别是对于ASP.NET WebForms平台的开始或中间的开发人员。因此,在开始更改内容之前,请确保您足够了解自己要了解的内容:)

相关问题