2012-02-08 10 views
0

理由はわかりませんが、PageLoad()関数内のASPアプリケーション内でJavascriptアラートに関する問題が発生しています。それは細かい処理し、私は別のアクションをしようとすると、私は次のようなエラー(これはまた、唯一のIEと()デバッグモードでのVisual Studioで発生する)を取得:Javascript in C#

Line: 4056 
Error: Unspecified error. 

    Response.Write("<script language='javascript'>alert(' You currently have an incomplete quote.\\n Here is your customers information: \\n First Name: " + _firstName + " \\n Last Name: " + _lastName+ " \\n Number Of Drivers: " + _driveList.Count().ToString() + " \\n Number Of Vehicles: " + _vehicleList.Count().ToString() + " \\n Date Of Quote: " + _pendingQuote.Date.ToString() + " ')</script>"); 
+0

Visual Studioやブラウザでこのエラーが発生していますか?あなたのコードでその時点までに、応答ストリームは閉じられていますか? – NotMe

+0

あなたはそれを書くC#コードを投稿できますか? –

+1

この場合、文字列連結は使用しないでください。 String.Formatを使用します。 –

答えて

2

は、なぜあなたはスクリプトマネージャを使用していけない

ScriptManager.RegisterStartupScript(this, this.GetType(), "alertScript", string.Format("alert('{0}');",alertText), true); 

及びこれを読み取ってフォーマットする方がはるかに簡単です

StringBuilder buildAlertString=new StringBuilder(); 
    buildAlertString.Append("You currently have an incomplete quote."); 
    buildAlertString.Append(Environment.NewLine); 
    buildAlertString.Append(string.Format("First Name:{0}",_firstName)); 
    ... 
    string alertText=buildAlertString.ToString() 

のような文字列ビルダからのアラートテキストを作成します。これがうまくいきたいです

+0

ありがとう:)、完璧に働いた – shenn

1

試してみてください。

Response.Write("<script language='javascript'>alert(' You currently have an incomplete quote.\\n Here is your customers information: \\n First Name: " + "FNAME" + " \\n Last Name: " + "LNAME"+ " \\n Number Of Drivers: " + 6 + " \\n Number Of Vehicles: " + 6 + " \\n Date Of Quote: " + "DATE" + " ');</script>"); 

次に試しを:

Response.Write("<script language='javascript'>alert(' You currently have an incomplete quote.| Here is your customers information: | First Name: " + "FNAME" + " | Last Name: " + "LNAME"+ " | Number Of Drivers: " + 6 + " | Number Of Vehicles: " + 6 + " | Date Of Quote: " + "DATE" + " ');</script>");