-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

为什么不将两者合并到一个单独的标签中<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(客户端)函数存在时,您的服务器端代码将已经执行。

您的服务器端函数可以生成 JavaScript 输出到可以调用客户端脚本的 HTML 结果,但在服务器端渲染完成之前,您不能从服务器调用 JavaScript。

于 2013-10-09T05:56:11.290 回答
0

你可以SendRequest()settextSymbol()

如果您遇到问题,请尝试runat="server"从脚本标签中删除。

于 2013-10-09T05:57:37.813 回答