2

ポストバック時に JavaScript 変数を更新しようとしています。ClientScript.RegisterStartupScript 関数を使用することを考えていました。最初のページ読み込みでは機能しますが、ポストバックでは機能しません。page_load 関数に以下の行を追加しました。キーが一度追加された場合、2回目に追加することはできないということが起こっていると思います。マスター ページとコンテンツ ページがあります。コンテンツページからこれを呼び出しています。

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

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

ありがとう

4

2 に答える 2

1

aspx ページのスクリプト ブロック内に asp:Literal を配置できます。

次に、コード ビハインドで、変数の割り当てをテキストとしてリテラルに入れます。JavaScript コードの一部としてレンダリングされます。

于 2012-04-10T16:46:12.860 に答える
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.");
    }
于 2012-04-10T16:47:31.007 に答える