在用户控件中无法调用Javascript两次

时间:2017-02-22 06:28:11

标签: javascript jquery .net

我在用户控件中有一个javascript:

public void updateStepColor()
{
       ScriptManager.RegisterStartupScript(this, GetType(), "changeProgressActiveStep", "alert("Hello")", true);
}

以上功能在用户控件中。当页面加载并从Web表单单击一个按钮时,Web表单调用用户控件并让用户控件执行该功能。

页面加载时脚本运行正常,但随后单击该按钮时不运行。

我尝试调试,似乎一切都很好,除了单击按钮时脚本没有被触发(脚本管理器确实调用它)。

我尝试复制相同的功能,重命名并更改为' RegisterClientScriptBlock'但也没有工作。

有人知道可能的原因吗?谢谢!

2 个答案:

答案 0 :(得分:0)

使用更新面板时,脚本块无法进行渲染。作为一种解决方法,将以下代码放在pageload中

ScriptManager.GetCurrent(Page).RegisterPostBackControl(urButton);

答案 1 :(得分:0)

我找到了答案,我应该使用页面而不是:

 ScriptManager.RegisterStartupScript(page, GetType(), "changeProgressActiveStep", "alert("Hello")", true);