我正在开发一个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
答案 0 :(得分: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();
}
如果设置文本符号是服务器端代码,那么您应该考虑这样做
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);
}
答案 1 :(得分:0)
您可以创建单独的.js
文件,根据需要将其命名为main.js
。然后,您可以将该方法放在您创建的main.js
文件中。只需将main.js file
包含在您要在应用程序中调用的script tag
的html文件中。
答案 2 :(得分:0)
settextSymbol看起来像服务器端代码。
您的服务器端代码将在JavaScript(客户端)功能存在时执行。
您的服务器端函数可以生成可以调用客户端脚本的HTML结果的JavaScript输出,但是在服务器端渲染完成之前,您无法从服务器调用JavaScript。
答案 3 :(得分:0)
您可以从SendRequest()
settextSymbol()
如果您遇到问题,请尝试从脚本代码中删除runat="server"
。