2011-01-27 17 views
0

私はASP.NetとC#でフォームを保存しています。保存後にメッセージが表示されない以外は、すべて正常に動作します。その間にどこかで迷子になってしまったのですが、私はなぜそれを理解できませんか?なぜこの行は実行されていませんか?

protected void btnSave_Click(object sender, EventArgs e) 
    { 
     int fisherId; 
     try 
     { 
      if (ValidateControls()) 
      { 
       _traceLog.AppendLine("Fisheries Registration Form saving : btnSave_Click() "); 
       FillDemographicsObjects(); 

       if(_manager.CreateFisherDemographics(_demographics, _address, "Test User",out fisherId)) 
       { 
        /*ShowMessage(IntertribalFishriesResource.msgSaveSuccess);*/ 

        if (_shared.SendMailToFisher(fisherId)) 
        { 
         _traceLog.AppendLine("Fisheries Registration Form ending : btnSave_Click() "); 
         Response.Redirect("~/Fisher/FisherRegistration.aspx?Id=" + fisherId, false); 

        } 
       } 

      } 
     } 
     catch (Exception ex) 
     { 
      _userException.CreateExceptionLog(ex); 
     } 
     finally 
     { 
      _userException.CreateTraceLog(_traceLog.ToString()); 

     } 

    } 

灰色のテキストで表示されるメッセージは実行されません。 ShowMessageは以下のとおりである:

protected bool ShowMessage(string message) 
    { 
     if (message.Length > 0) 
     { 
      hidErrMsg.Value = message; 
      ScriptManager.RegisterStartupScript(upFisherRegistration, this.GetType(), "myScript", "ShowMessage();",true); 
      return false; 
     } 
     return true; 
    } 

私が達成したいどのような操作の保存に成功した後、私はメッセージを表示し、ページをリダイレクトするようにしたい、ということです。それで全部です。

+0

電子メールは送信されていますか? –

+0

アラートメッセージ以外はすべて動作します。私はスクリプトマネージャーの下でのみ注意を払う、それは動作しません。 –

答えて

1

HI、

あなたがRegsiterStartupScriptを追加するときに、これは現在の要求のセッションのために実行され、あなたはそれの後にリダイレクトする場合は、スクリプトが応答で存在していないので、あなたのメッセージが表示され文句を言わないよりも、それは、レスポンスに書き込まれます。あなたがする必要がどのような

はshowSavemessageが登録スタートアップスクリプトメソッドを追加真である場合& showSaveMessage =真 とリダイレクトされたページのチェックのようにリダイレクトURLに別のパラメータを追加しています。

私はこれが助けてくれるといいですか

1

メッセージは、現在ロードされているページのクライアントスクリプトに送信されます。次の句が真である場合、リダイレクトによって別のページがロードされます。したがって、現在のページに放出されたものは何でも問題になりません。

+0

これの可能な解決策は... –

+0

リダイレクト先のページは、メッセージの必要性を認識している必要があります。私はこれまでクエリパラメータにインジケータを含めることでこれを行ってきましたが、それを達成する方法はたくさんあります。 – harpo

関連する問題