Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 页面加载时jQuery调用错误_Javascript_Jquery_Asp.net_Registerclientscriptblock - Fatal编程技术网

Javascript 页面加载时jQuery调用错误

Javascript 页面加载时jQuery调用错误,javascript,jquery,asp.net,registerclientscriptblock,Javascript,Jquery,Asp.net,Registerclientscriptblock,我有下面的代码来在Page_Load上注册一个javascript函数(也在Page_Init上进行了尝试)。javascript根据页面加载时的参数将两个面板从隐藏切换为显示: protected void Page_Load(object sender, EventArgs e) { String switchAction = "<script language='javascript'>switchactionpanel(" + (int)((G

我有下面的代码来在Page_Load上注册一个javascript函数(也在Page_Init上进行了尝试)。javascript根据页面加载时的参数将两个面板从隐藏切换为显示:

    protected void Page_Load(object sender, EventArgs e)
    {
        String switchAction = "<script language='javascript'>switchactionpanel(" + (int)((Global.upAction)Enum.Parse(typeof(Global.upAction), Global.ProfileAction.ToString())) + ")</script>";
        Page.RegisterClientScriptBlock("switchaction", switchAction);
    }
受保护的无效页面加载(对象发送方,事件参数e)
{
字符串switchAction=“switchactionpanel”(+(int)((Global.upAction)Enum.Parse(typeof(Global.upAction),Global.ProfileAction.ToString())+”;
第页:RegisterClientScriptBlock(“开关动作”,开关动作);
}
但是当页面加载时,我收到一个错误:$未定义


我查看了Firebug并加载了jQuery文件,但是,在.Net选项卡中加载的第一个文件是页面本身。我知道jquery是正确的,因为相同的代码在不同的页面上工作。页面加载时,我的RegisterClientScriptBlock应该放在页面生命周期的何处才能正常工作?还是我完全错了?

不确定这是否相关,但我总是使用:
不确定这是否相关,但我始终使用:

您只需要确保插入的脚本在JQuery引用之后插入


改用
RegisterStartupScript
——在
结束标记之前插入脚本标记。

您只需要确保插入的脚本在JQuery引用之后插入


改用
RegisterStartupScript
——它在
结束标记之前插入脚本标记。

我认为这与您使用的注册函数有关。尝试使用
RegisterStartupScript
而不是
RegisterClientScriptBlock

Page.ClientScript.RegisterStartupScript(this.GetType(), "switchaction", "<script language='javascript'>switchactionpanel(" + (int)((Global.upAction)Enum.Parse(typeof(Global.upAction), Global.ProfileAction.ToString())) + ")</script>", false);
Page.ClientScript.RegisterStartupScript(this.GetType(),“switchaction”,“switchactionpanel”(+(int)((Global.upAction)Enum.Parse(typeof(Global.upAction),Global.ProfileAction.ToString())+),false);

我认为这与您使用的注册功能有关。尝试使用
RegisterStartupScript
而不是
RegisterClientScriptBlock

Page.ClientScript.RegisterStartupScript(this.GetType(), "switchaction", "<script language='javascript'>switchactionpanel(" + (int)((Global.upAction)Enum.Parse(typeof(Global.upAction), Global.ProfileAction.ToString())) + ")</script>", false);
Page.ClientScript.RegisterStartupScript(this.GetType(),“switchaction”,“switchactionpanel”(+(int)((Global.upAction)Enum.Parse(typeof(Global.upAction),Global.ProfileAction.ToString())+),false);

尽管缺少该选项,但仍无法纠正问题。在Firebug中抛出错误并加载页面后,我可以进入Firebug控制台,然后看到$works fine。然后,我假设在查看源代码时,在jQuery文件之前调用此脚本。您必须重新组织这些脚本,以便首先调用jQuery脚本,以便定义
$
。尽管缺少该脚本,但仍然没有纠正问题。在Firebug中抛出错误并加载页面后,我可以进入Firebug控制台,然后看到$works fine。然后,我假设在查看源代码时,在jQuery文件之前调用此脚本。您必须重新组织这些脚本,以便首先调用jQuery脚本,以便定义
$
。非常感谢,工作非常顺利。所以为了澄清这一点,如果我想在页面加载后运行javascript,请使用StartupScript,对吗?这个改变与我的代码没有任何关系,对吗?非常感谢,工作非常完美。所以为了澄清这一点,如果我想在页面加载后运行javascript,请使用StartupScript,对吗?这一变化与我的代码没有任何关系,对吧?谢谢你,史蒂文,德贝斯曼击败了你,但再次感谢谢谢你,史蒂文,德贝斯曼击败了你,再次感谢你