2012-04-10 10 views
2

ポストバック時にJavaScript変数を更新しようとしています。私はClientScript.RegisterStartupScript関数の使用を考えていました。最初のページの読み込みでは動作しますが、ポストバックでは動作しません。以下の行をpage_load関数に追加しました。私は起こっていることを仮定しています。鍵が一度追加されると、もう一度それをもう一度加えることができないということです。私はマスターページとコンテンツページを持っています。私はコンテンツページからこれを呼び出しています。.Net Codebehindのjavascript変数を更新する

ClientScript.RegisterStartupScript(typeof(Page), "SymbolError", "<script type='text/javascript'>alert('Error !!!');</script>"); 

バックエンドからJavaScript関数を呼び出す方法はありますか?

おかげ

+0

を考えてみましょうか?おそらく他の選択肢があるかもしれない – MilkyWayJoe

答えて

1

この方法を試してみてください:ページの読み込み時にこのコードを配置

構文

public void RegisterOnSubmitStatement (
     Type type, 
     string key, 
     string script 

) 

使用

スクリプトはWebフォームのすべての提出クリックで起動するようになります。

if (!script.IsClientScriptBlockRegistered(this.GetType(), "SubmitScript")) 
     { 
      script.RegisterOnSubmitStatement(this.GetType(), "SubmitScript", "alert('Submit Clicked')"); 
     } 

あなたがする何をしようとしている以下のコード

protected void Page_Load(object sender, EventArgs e) 
    {  
ClientScriptManager script = Page.ClientScript; 
if (!script.IsClientScriptBlockRegistered(this.GetType(), "SubmitScript")) 
    { 
      script.RegisterOnSubmitStatement(this.GetType(), "SubmitScript", "return confirm('Are you sure to continue')"); 
    } 
    } 
    protected void btnSubmit_Click(object sender, EventArgs e) 
    { 
     Response.Write("Form is Submitted."); 
    } 
+0

グリッドを使用していて、あるレコードから別のレコードに変更するときにRegisterOnSubmitStatementがトリガーされることを認識しませんでした。私がレコードからレコードに変更するたびに、ポストバックを行います。よく働く。ありがとうございました。 – MindGame

1

あなたはASP置くことができる:あなたのaspxページにスクリプトブロック内のリテラルを。

あなたのコードでは、変数の代入をテキストとしてリテラルに入れてください。それはあなたのJavaScriptコードの一部としてレンダリングされます。

+0

興味深い、あなたがこれを行うことができるか分からなかった。ありがとう。 – MindGame

+0

それはリテラルのためのものです。内部に置いたものは、マークアップの正確な位置にページ上に正確に表示されます。 – SouthShoreAK

関連する問題