2

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
4

1 に答える 1

0

はい、同じクラスに必要な数の部分クラスを作成できます。指定した例は、まさにその主な目的です。部分クラスのコードは、同じファイル内の同じクラス宣言内にあるかのように、残りのクラスのすべてにアクセスできます。私は ASP や T4 にあまり詳しくありませんが、それらによって部分クラスの動作が変わる理由が想像できません。

于 2012-06-15T15:34:18.047 に答える