2011-12-13 7 views
2

これは私が答えを見たことのない一般的な質問です。PostBackを処理して別の方法でリフレッシュできますか?

PostBackの違いを教えて、コードを更新して、同じアイテムを繰り返し送信しないようにすることはできますか?

アプリケーションはC#ベースのASP.NETです。以下のコード:前回の要求がポストした場合F5はPOSTリクエストを送信しますが、当たっ

protected void SubmitListItem(object sender, EventArgs e) 
{ 
    if (Page.IsPostBack) //Fires on both submit and F5 
    { 
     SPUser user = web.CurrentUser; 
     string alias = user.Email.Substring(0, user.Email.IndexOf('@')); 
     if (ListChoice.SelectedItem.Text == "comment") 
     { 
      SPList TargetList = web.Lists.TryGetList("Offer Comments"); 
      SPListItem item = TargetList.Items.Add(); 
      item["Title"] = TitleBox.Text; 
      item["Body"] = BodyBox.Text; 
      item["OfferID"] = OfferID; 
      item["Alias"] = alias; 
      item.SystemUpdate(); 
      TargetList.Update(); 
      LoadOffers(); 
     } 
     else 
     { 
      SPList TargetList = web.Lists.TryGetList("Offer Best Practices"); 
      SPListItem item = TargetList.Items.Add(); 
      item["Title"] = TitleBox.Text; 
      item["Body"] = BodyBox.Text; 
      item["OfferID"] = OfferID; 
      item.SystemUpdate(); 
      TargetList.Update(); 
      LoadOffers(); 
     } 
    } 
} 

答えて

4

IsPostBack

。だから、あなたもその事件を処理することを確認する必要があります。最悪のシナリオは、ユーザーがボタンを繰り返し押して複数の投稿要求を同時に送信する場合です。通常はクリックしたときにボタンを無効にすることで処理されます。さまざまなブラウザやデバイスで異なる動作をするため、オーディエンスを指定する必要があります。

+0

+1完全な1語の答えです。 – jvenema

+0

@yuriy私はそれを試しましたが、IsPostBackはF5に登場しています。違いを伝えるためにコードブランチとして何をお勧めしますか? – Wesley

+0

@ウェズリーそれをする方法はありません。あなたは、重複したデータを持たないように、あなたの事件についてもっと教えてください。 –

関連する問題