2011-11-11 2 views
1

여기 새로 왔습니다. 나는 질문이있다.페이지를 다시로드하면 내 이벤트 핸들러가 다시 실행됩니다.

모두 괜찮습니다.하지만 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

가장 쉬운 방법을 확인하실 수 있습니다? 모든 컨트롤을 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

관련 문제