重新加载页面再次运行我的事件处理程序

时间:2011-11-11 07:55:09

标签: asp.net vb.net postback visual-web-developer

我是新来的。我有个问题。

一切都很好,但是当我点击F5时,它会刷新页面并再次运行代码。这意味着每条F5上的数据库都会添加一条新记录。

这是我的代码,你有什么建议吗?

Imports System.Data.OleDb
Partial Class Default2
    Inherits System.Web.UI.Page

    Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim myConn As OleDbConnection
        Dim cmd As OleDbCommand
        Dim sqlstring, Fname, Lname, FATHname, Region As String

        Fname = TextBox1.Text
        Lname = TextBox2.Text
        FATHname = TextBox3.Text
        Region = TextBox4.Text

        myConn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\pcuser10.comm\Documents\vwd.data.accdb")

        myConn.Open()

        sqlstring = " INSERT INTO Table1 (FNAME, LNAME, FATHNAME, REGION) VALUES ('" + Fname + "','" + Lname + "','" + FATHname + "','" + Region + "')"

        cmd = New OleDbCommand(sqlstring, myConn)
        cmd.ExecuteNonQuery()

        myConn.Close()
    End Sub
End Class

2 个答案:

答案 0 :(得分:0)

在本论坛中,MainMa对相关问题给出了一个很好的答案。

page refresh is firing the event again

theres我无法添加,所以请查看:)

答案 1 :(得分:0)

最简单的方法? 将所有控件包装到UpdatePanel中。

<body>
   <asp:UpdatePanel ID="upBody" runat="server">
      <ContentTemplate>

----------All your HTML controls here ----------

      </ContentTemplate>
   </asp:UpdatePanel>
</body>
好吧,我不推荐这个,但现在比你现在的情况要好。