2011-09-15 17 views
1

Insert、Updateの両方の機能に対して同じコマンドボタンClickイベントを使用しました。ASP.NET Webアプリケーションのデバッグ中に更新された値が表示されない

私はこの機能を実現するためにurl-querystringをチェックしています。 url-querystringがnullの場合、ページは挿入用です。 url-querystringがnullでない場合、ページは更新用です。

コードは次のとおりですが、更新機能が動作していません。私はページをデバッグするとき、私は新しい更新された値がデバッグウィンドウに表示されていないことを理解しました。 CR_TITLEを修正してデバッグしました。新しい値はデバッグには入っていません。何が問題ですか?

protected void btnInsert_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      ChangeRequest changeRequest = new ChangeRequest(); 
      changeRequest.CR_REF_NO = txtCRRefNumber.Text.Trim(); 
      changeRequest.CR_TITLE = txtCRTitle.Text.Trim(); 
      changeRequest.ORIGIN1_ID = Convert.ToInt32(ddlOrigin1.SelectedValue); 
      if (Request["ecr"] == null) 
      { 
       (new ChangeRequestBLL()).InsertECR(changeRequest); 

       ((BLMSite)this.Master).ErrorText = string.Empty; 
       ((BLMSite)this.Master).MessageText = "Record inserted successfully"; 
      } 
      else if (Request["ecr"] != null) 
      { 
       (new ChangeRequestBLL()).UpdateECR(ecrRefNo, changeRequest); 

       ((BLMSite)this.Master).ErrorText = string.Empty; 
       ((BLMSite)this.Master).MessageText = "Record updated successfully"; 
      } 
     } 
     catch (Exception ex) 
     { 
      ((BLMSite)this.Master).ErrorText = ex.Message; 
      ((BLMSite)this.Master).MessageText = string.Empty; 
     } 
    } 

編集:このコードを(!Page.IsPostBack)の条件に入れる必要があります。これは私が間違いを犯したところです。この声明の追加は私の問題を解決しました。

+0

txtCRTitle.Textが空である、またはCR_Title値を設定した後もchangeRequestオブジェクトでまだ空であると言っていますか? – patmortech

+0

私の誤った連絡には申し訳ありません。 –

+0

あなたの迅速な対応に感謝します。ページが更新モードで開かれているので、値はすでにtxtCRTitle.Textに表示されているはずです。今、私はこのtxtCRTitle.Textの値を変更し、ブレークポイントを保持し、 "更新"ボタンをクリックしました。今、私が変数の中の値を調べると、私は更新された値を見ることができませんでしたが、古い値です。 –

答えて

1

これは単なる論理問題です。

私は、iside!Page.IsPostBackの条件を設定するだけでコードを処理し、問題は解決されました。したがって、論理を表示することはできません。

ありがとうございました。

関連する問題