0

これが非常に基本的な質問であることは知っていますが、答えが見つかりません。page.init がポストバックで起動しないと言う Web ページがたくさんあります。たとえば、ここにあります。 -and-pageload-events.aspx . 以下のコードを参照してください。

Public Class _Default
    Inherits System.Web.UI.Page

    Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
        MsgBox("Test Init") 'Line 5
    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Page.IsPostBack = True Then
            MsgBox("PostBack") 'line 9
        End If
        MsgBox("Test Load")
    End Sub

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = "Hello"
    End Sub
End Class

ボタンをクリックするたびに、5 行目と 9 行目のメッセージ ボックスが起動します。これは、Init イベントがポストバックで発生することを意味します。私は明らかに非常に基本的なことを忘れていました。

4

1 に答える 1

1

あなたの参照ページから:

どのページにポストバックしても、Page_Init イベントは発生しません。

これは完全に間違っています。

Page_Init は常に発生します。実際には、ページ サイクルはまったく変更されません。

于 2012-10-21T17:14:35.090 に答える