3

文字列値をコード ビハインドから JavaScript 関数に渡したいです。値が定義されていないことを説明するキャッチされていない参照エラーが発生した瞬間です。

var variable= txtVariable.Value;
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Registering", "RegisterTheUser("+variable+");", true);

おそらく正しい構文に関するアドバイス

これが機能です

function RegisterTheUser(val) {
    alert(val);
}

よろしく

4

2 に答える 2

5

あなたが投稿したものはうまく見えます。私は問題なく以下を使用しました:

ScriptManager.RegisterStartupScript(this, typeof(string), "Registering", String.Format("RegisterTheUser('{0}');", myVariable), true);

私が投稿した例を使ってみてもらえますか?

于 2013-09-18T11:19:35.757 に答える
2

RegisterStartupScript関数をロードする前に your が実行されていることが問題である可能性がありますRegisterTheUser

スクリプトの読み込み順序を整理するか、document準備ができた後にのみこの関数を呼び出すロジックを追加する必要があります。

jQuery では、次のように行われます。

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Registering", "$(document).ready(function(){ RegisterTheUser("+variable+"); });", true);

sbhomra が回答で指摘したように、値が文字列の場合は、単一のクォートを追加する必要がある場合があります。数字なら不要。

于 2013-09-18T11:27:41.993 に答える