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

Asp.net 重新加载页面将再次运行我的事件处理程序,asp.net,vb.net,postback,visual-web-developer,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) Handle

我是新来的。我有个问题

一切正常,但当我点击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

对于一个相关的问题,MainMa在这个论坛上给出了一个很好的答案

我没有什么可以补充的了,所以请查看:)

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

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

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

      </ContentTemplate>
   </asp:UpdatePanel>
</body>

----------所有的HTML控件都在这里----------

好吧,我不推荐这个,但比你现在的情况要好。

既然你是新来的,请探究现有的问题。这一个已经被修改过,例如,或者更好看这里谢谢你的帮助,我使用了Response.Redirect(Request.RawUrl,true),它刷新页面和清除字段,解决了我的问题,再次感谢你谢谢你的帮助,我使用了Response.Redirect(Request.RawUrl,true),它刷新页面和清除字段,解决了我的问题,再次感谢你从Ziga接过这个职位:)如果我能帮助你,我很高兴