1

ClientIDをパラメーターとしてjavascript関数に一重引用符を含めずに渡すと、コントロール自体への参照として渡され、最初にgetElementByIDを呼び出さなくても使用できます。

この動作がどこにも文書化されていません。これはブラウザ固有のものですか、それとも.netのものですか。

私はこのような呼び出しをコードビハインドで設定しています...

protected void Page_Load(object sender, EventArgs e)
        {
            Button1.Attributes.Add("onClick", string.Format("showvalue({0})",  TextBox1.ClientID));
        }

私の懸念は、これが古いバージョンのIEでは機能しない可能性があることです。ありがとう。

4

2 に答える 2

4

JSコードを生成するときに、ID値を引用符で囲みます。例:string.Format( "showvalue(' {0} ')"、TextBox1.ClientID)

引用符がない場合、showValueは、通常はコントロールがレンダリングするDOM要素であるClientID名を持つグローバル変数のインスタンスを取得します。

于 2008-12-05T11:49:02.583 に答える
0

一重引用符で囲んでgetElementByIDを使用すると、すべてのブラウザで機能するはずです。これが「通常の」方法です。

あなたが言うように、なぜこの方法が機能するのかわかりません。Firefoxでも動作しますか?

于 2008-12-05T11:45:46.163 に答える