你可以使用部分类在VB中制作两个(等效的)代码隐藏页面

时间:2012-06-15 15:24:37

标签: asp.net vb.net code-behind partial-classes

我们正在使用T4生成.aspx和.vb文件。一切都运作良好 - 但我们经常需要在页面上自定义行为。

但是,我们偶尔还要重新生成页面 - 这有可能会消除原本仍然有效的作品。

我想要这样的设置:

Default.aspx 'which would contain the controls
Default.aspx.vb 'which would bind, load and save data
Default.behaviour.vb '(or something like that) - which would store the behaviour

两个页面都能够引用控件。

那可能吗?

Stevedog:谢谢你,我怀疑我的错误在代码中会更明显 - 这是一个例子:

'##in codebehind Default.asp.vb:
'##there is a asp:label called lblTest
Partial Class pages_Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Me.IsPostBack Then
            writeMessage()
        End If
    End Sub

    Partial Private Sub writeMessage()
    End Sub
End Class

'##in codefile Default.behaviour.vb:
Partial Public Class pages_Default
    Inherits System.Web.UI.Page

    Private Sub writeMessage()
        lbltest.Text = "Hello"
    End Sub

End Class

1 个答案:

答案 0 :(得分:0)

是的,您可以为同一个类创建任意数量的部分类,您给出的示例正是它们的主要目的。分部类中的代码可以访问类的其余部分中的所有内容,就好像它在同一文件中的所有类声明中一样。我对ASP或T4并不是很熟悉,但我无法想象为什么这会改变部分类的工作方式。