2011-11-11 15 views
1

私はここが新しいです。質問があります。ページを再読み込みすると、再度イベントハンドラが実行されます

いつでもOKですが、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 
+0

新しいものですから、既存の質問を調べてください。これはすでに購入済みです。 http://stackoverflow.com/q/1558790/532498またはこちらをご覧くださいhttp://stackoverflow.com/questions/1135404/btnadd-click-fires-when-i-press-f5 – Pleun

+0

あなたに助けてくれてありがとう、私はResponse.Redirect(Request.RawUrl、true)を使用してページを更新し、フィールドをクリアして、私の質問を解決しました。再度お礼します。 – user1000744

答えて

0

このフォーラムのMainMaからは、関連する質問があります。

page refresh is firing the event again

より多くの私は追加し、そう:)

+0

私は簡単な方法が必要です... – user1000744

+0

あなたはZigaから投稿を取った:)嬉しいです私はあなたを助けることができた – SwissGuy

+0

助けを考えてくれてありがとう男 – user1000744

0

最も簡単な方法をチェックアウトすることができます何もtheresの? すべてのコントロールをUpdatePanelにラップします。

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

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

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

よく、私はこれをお勧めしませんが、現状よりも優れています。

+0

私は、Response.Redirect(Request.RawUrl、true)を使用して、ページをリフレッシュし、フィールドをクリアして、 – user1000744

関連する問題