2016-05-26 7 views
0

データを挿入している間、すべてのことがうまくいきます。ページをリフレッシュする回数だけ追加する行

問題は、ボタンをクリックした後にページをリフレッシュした後、ボタンをクリックした後、データがページを更新するのと同じくらい多くの時間を挿入していることに気付きました。

どうすればいいですか?ここ は私のボタンのコードです:

protected void btn_AddEdu_Click(object sender, EventArgs e) 
    { 
     hfTab.Value = "edu"; 
     if (ValidateAddEdu()) 
     { 
      emp_edu.InsertEdu(Session["empcd"].ToString(), ddl_degree.SelectedValue.ToString(), txt_eduterms.Text, ddl_institute.SelectedValue.ToString(), txt_edupassyear.Text, txt_edugrade.Text, ddl_sponsor.SelectedValue.ToString()); 
      int imagefilelength = fileupload_edu.PostedFile.ContentLength; 
      byte[] imgarray = new byte[imagefilelength]; 
      HttpPostedFile image = fileupload_edu.PostedFile; 
      image.InputStream.Read(imgarray, 0, imagefilelength); 
      edu_attach.InsertEduAttachment(Session["empcd"].ToString(),ddl_degree.SelectedValue.ToString(),imgarray); 
      lbl_eduerr.Text = "Added"; 
      lbl_eduerr.ForeColor = System.Drawing.Color.Green; 
      BindEduGrid(); 

     } 
    } 
+0

は、ブラウザがページを更新するとき、あなたはPOSTを送信しようとしていることを警告しませんあなたの.csページに次のコードを追加します。再び? – CodeCaster

+0

いいえ、私に警告していません。しかし、警告が表示され、ユーザーがそれを確認すると、行が2回挿入されます。これを停止できますか? –

+0

ボタンクリックで 'if(!Page.IsPostBack){}'の中にコードをラップしようとしました – Ansari

答えて

0

protected void Page_Load(object sender, EventArgs e) 
{ 
      if (!Page.IsPostBack) 
      { 
       Session["CheckRefresh"] = Server.UrlDecode(System.DateTime.Now.ToString()); 
      } 
} 


protected void Page_PreRender(object sender, EventArgs e) 
{ 
     ViewState["CheckRefresh"] = Session["CheckRefresh"];  
} 


protected void btn_AddEdu_Click(object sender, EventArgs e) 
{ 
    if (Session["CheckRefresh"].ToString() == ViewState["CheckRefresh"].ToString()) 
    { 
    hfTab.Value = "edu"; 
    if (ValidateAddEdu()) 
    { 
     emp_edu.InsertEdu(Session["empcd"].ToString(), ddl_degree.SelectedValue.ToString(), txt_eduterms.Text, ddl_institute.SelectedValue.ToString(), txt_edupassyear.Text, txt_edugrade.Text, ddl_sponsor.SelectedValue.ToString()); 
     int imagefilelength = fileupload_edu.PostedFile.ContentLength; 
     byte[] imgarray = new byte[imagefilelength]; 
     HttpPostedFile image = fileupload_edu.PostedFile; 
     image.InputStream.Read(imgarray, 0, imagefilelength); 
     edu_attach.InsertEduAttachment(Session["empcd"].ToString(),ddl_degree.SelectedValue.ToString(),imgarray); 
     lbl_eduerr.Text = "Added"; 
     //Add this line 
     Session["CheckRefresh"] = Server.UrlDecode(System.DateTime.Now.ToString()); 
     lbl_eduerr.ForeColor = System.Drawing.Color.Green; 
     BindEduGrid(); 

    } 
    } 
} 
+0

ありがとうございました:) –

関連する問題