2011-08-16 8 views
1

ユーザーが[はい]または[いいえ]または[OK]と[キャンセル]を選択できるように警告ボックスを追加しようとしていますが、正しく機能しません。その機能をボタンクリックイベントにリンクするだけです。私がこれをやろうとしているのは初めてのことです。私はVisual Studio 2010を使用しています。自分のコードが正しいかどうかはわかりません。私が間違っていると誰も私を案内してくれる?JavaScriptのアラートの問題

  private void AlertWithConfirmation() 
      { 
      Response.Write("<script language='javascript'>"); 
      Response.Write("function onsub() "); 
      Response.Write("{ "); 
      Response.Write("return confirm(\"Are you sure?\")"); 
      Response.Write("} "); 
      Response.Write("</script>"); 
      } 

これは私の完全なC#のコードです:

protected void Import_Click(object sender, EventArgs e) 
    { 
     if (!Validation.ValidateDateFormat(dateField.Text)) 
     { 
      errorMessageLabel.Text = "Invalid Date Format, for example: 1/1/2011 should be 01/01/2011"; 
     } 
     else 
     { 
      //Validation to check if data is already imported 
      if (BusinessLayerHandler.isImported(dateField.Text) == false) 
      { 
       try 
       { 
        if (BusinessLayerHandler.isInProgress(dateField.Text)== true) 
        { 
         AlertWithConfirmation(); 
        } 
       } 
       catch 
       { 
        //catch error 
       } 
      } 
      else if (BusinessLayerHandler.isImported(dateField.Text) == true) 
      { 
       Alert("That date was already imported"); 
      } 
     } 
+0

は、このコードはかなり無意味です。あなたの目標は何ですか?ユーザーが[キャンセル]ボタンをクリックした場合、何を防止しようとしていますか? –

+0

確認後にセミコロンを試しましたか? – ibram

+0

あなたはページに機能を書いていますが、その機能はどこで起動していますか?あなたの例を考えれば、他の方法もありますが、ページが再ロードされたときにonsubメソッドを起動させたい場合は、onveubメソッドをonveub eveentに添付したいと思うようです。 –

答えて

1

あなたのコードは絶対に正しいです。構文エラーのみです。ダブルクォートを開始する前に "\"を削除してください。 - > Response.Write( "return confirm(\" Are you sure?\ ")");
この行に置き換えてください。
Response.Write( "return confirm(" Are you sure?\ ")");

0

ここでは、関数を呼び出す場所はわかりません。どうしてもページ上に常に関数を持たずに、コードビハインド内のボタンに関数呼び出しを動的に追加するのはなぜですか?以下のような

何か:あなたは間違っている

button.Attributes.Add("onclick", "onsub();"); 
+0

@ giovanni galbo ....私はページロード時に呼び出す:protected void Page_Load(オブジェクト送信者、EventArgs e) { AlertWithConfirmation(); } – mikespiteri

+0

これはjavascript関数を呼び出すのではなく、javascript関数を記述するコードを呼び出しています。 –

+0

申し訳ありませんがわかりません。これはjavascript関数ですか?プライベートvoid AlertWithConfirmation(){Response.Write( ""); } – mikespiteri