-2

ASPX ページで作業していますが、スクリプトが機能しません

以下の更新されたコードを見つけてください。

<script runat="server">
    protected void settxtSymbol(object sender, System.EventArgs e)
    {
        switch ((Timer1.Interval / 3) % 3)
        {
            case 0: txtSymbol.Value = "GOOG";
                break;
            case 1: txtSymbol.Value = "MICR";
                break;
            case 2: txtSymbol.Value = "YHOO";
                break;
        }
        ScriptManager.RegisterStartupScript(this ,this.GetType(), "script", 
            "javascript:{var txtSymbol = document.getElementById(\"txtSymbol\");
             window.location = \"default.aspx?s=\"" + txtSymbol.Value + ";}", true);
    }
</script>

settextSymbol 関数から SendRequest を呼び出す必要があります

4

4 に答える 4

0

2つを1つの中にマージして、タグ の<Script>前に置いてはいけません。</body>

<script  type="text/javascript" language="JavaScript">
        /// <summary>
        /// This function will be called when user clicks the Get Quotes button.
        /// </summary>
        /// <returns>Always return false.</returns>

        function SendRequest() {
                var txtSymbol = document.getElementById("txtSymbol");
                // Refresh the page.
                window.location = "default.aspx?s=" + txtSymbol.value;
                return false;
        }

        // if its not a sever side event then you should consider using this
        protected void settextSymbol(object sender, System.EventArgs e)
        {
            switch ((Timer1.Interval / 3) % 3)
            {
                case 0: txtSymbol.Value = "GOOG";
                    break;
                case 1: txtSymbol.Value = "MICR";
                    break;
                case 2: txtSymbol.Value = "YHOO";
                    break;
            }
           Sendrequest();
        }

Set text Symbol がサーバー側コードの場合、この方法を検討する必要があります

 protected void settextSymbol(object sender, System.EventArgs e)
        {
            switch ((Timer1.Interval / 3) % 3)
            {
                case 0: txtSymbol.Value = "GOOG";
                    break;
                case 1: txtSymbol.Value = "MICR";
                    break;
                case 2: txtSymbol.Value = "YHOO";
                    break;
            }
           ScriptManager.RegisterStartUpScript(setTextSymbol,GetType(),"myScript","javascript:Sendrequest();",true);
        }
于 2013-10-09T05:55:15.760 に答える
0

別の.jsファイルを作成して、好きなように名前を付けることができますmain.js. 次に、そのメソッドを作成したmain.jsファイルに入れることができます。そして、アプリケーションで呼び出したい場所main.js file内の html ファイルにそれを含めるだけです。script tag

于 2013-10-09T05:55:46.367 に答える
0

settextSymbol はサーバー側のコードのように見えます。

サーバー側のコードは、JavaScript (クライアント側) 関数が存在する時点で既に実行されています。

サーバー側関数は、クライアント側スクリプトを呼び出すことができる HTML 結果への JavaScript 出力を生成できますが、サーバー側レンダリングが終了する前にサーバーから JavaScript を呼び出すことはできません。

于 2013-10-09T05:56:11.290 に答える