2010-07-06 2 views
1
public partial class Stats : System.Web.UI.Page 
{ 

    public SqlDataReader DataReader; 
    public SqlCommand Command; 
    string queryString = ("INSERT INTO UserData (UserProfileID, ConfidenceLevel, LoveLevel, HappinessLevel) VALUES ('a051fc1b-4f51-485b-a07d-0f378528974e', 1, 1, 1);"); 


    protected void Page_Load(object sender, EventArgs e) 
    { 
     LabelUserID.Text = Membership.GetUser().ProviderUserKey.ToString(); 
    } 

    protected void Button1_Click(object sender, EventArgs e) 
    { 

     MySqlConnection database = new MySqlConnection(); 
     database.CreateConn(); 

     Command = new SqlCommand(queryString, database.Connection); 
     Command.ExecuteNonQuery();   

    } 

} 

잘 모르겠습니다 왜 Button1_Click()이 페이지를 다시로드 할 때 실행되는지 모르겠습니다.
함수에서 중단 점을 넣었고 데이터베이스를 업데이트 할뿐만 아니라 데이터베이스를 업데이트합니다.ASP.NET에서 페이지를 다시로드하는 동안 버튼 이벤트 기능이 실행되는 이유는 무엇입니까?

제안 사항?

감사합니다.

답변

3

다시 게시하려면 단추를 클릭하고 포스트 백 이후에 다시로드하면 본질적으로 다시 게시가 반복되므로 단추 이벤트가 다시 실행됩니다. GET 요청 후 페이지를 간단히 다시로드하는 경우에는 발생하지 않습니다.

+0

페이지 새로 고침에 다시 게시하지 않고 그냥 새로 고치는 옵션이 있습니까? –

1

페이지를 새로 고침한다는 것은 무엇을 의미합니까? 버튼을 클릭 한 다음 브라우저에서 새로 고침을 클릭하면 브라우저가 마지막 게시물을 다시 발행하게됩니다. 즉, 서버에 관한 한 버튼이 다시 클릭됩니다. (브라우저에서 다시 게시하는 것에 대해 경고해야합니다.)

처음 페이지를 요청한 경우 실수로 ASPX 파일에서 잘못된 이벤트 처리기를 연결 한 것입니까?

의심스러운 경우 fire up Fiddler은 서버로 전송되는 것을 확인합니다.

관련 문제