ASP.NET事件PreInit

时间:2014-12-02 19:12:14

标签: asp.net vb.net

我正在用asp.net开发一个web应用程序, 在PreInit事件中,当我只是发一条消息时它可以工作

If IsPostBack Then
Dim eTarget As String = Request.Params("__EVENTTARGET").ToString()
If (eTarget = "ctl00$ContentPlaceHolder1$Buttonpub") Then
MsgBox("it's work")
End If
End If

当我把代码放进去时,不要进入"如果"

If IsPostBack Then
Dim eTarget As String = Request.Params("__EVENTTARGET").ToString()
If (eTarget = "ctl00$ContentPlaceHolder1$Buttonpub") Then
da.Fill(ds, "connexion")
dr = ds.Tables("connexion").NewRow()
dr("num_mbr") = Session("id")
dr("date_pub") = DateTime.Now
dr("type_pub") = "texte"
dr("contenu") = TextBox1.Text
ds.Tables("connexion").Rows.Add(dr)
da.Update(ds, "connexion")
TextBox1.Text = ""
MsgBox("don't work")
End If
End If

事先说。

1 个答案:

答案 0 :(得分:2)

为什么使用PreInit事件?在这种情况下,页面上的所有控件都尚未初始化,因此您无权访问它们。尝试在PreLoad事件中执行此操作,保持:如果IsPostBack然后...结束如果

您可能会发现本文很有帮助。它解释了页面的生命周期以及何时应该使用每个事件。 http://msdn.microsoft.com/en-us/library/ms178472.aspx