RegisterStartupScript在jQuery脚本中的表现不尽如人意

时间:2011-10-24 18:16:03

标签: javascript asp.net

我有一个带有更新面板的页面,在这个更新面板中,我有一个按钮,我希望通过输出JavaScript来显示/隐藏给定一些参数,我正在使用例如:

RegisterStartupScript(Me.Page, Me.GetType(), 
  "deleteHideScript", "$('.deleteButton').hide();", True)

我能够在控制台中运行$('.deleteButton').hide();位并获得所需的效果。我也能够以console.log('imHere');的相同方式输出脚本并获得预期的行为。

我错过了什么?

2 个答案:

答案 0 :(得分:1)

部分渲染是个问题。在异步回发后,您无法注册启动脚本以显示警报。您需要找到另一种实现相同效果的方法,或者在需要显示警报时执行完整回发。

您可以尝试设置EnablePageHeadUpdate="true",但我无法保证会产生任何影响。

修改

由于部分呈现,脚本在呈现按钮之前运行,这会导致您的问题。如果您可以在执行脚本之前找到一种渲染按钮的方法,那么您应该全部设置。

答案 1 :(得分:0)

您需要检查脚本是否在之前注入jQuery脚本标记。

如果您使用ScriptManager来引用脚本,则可能出现类似内容。

您可以将jQuery引用移到<head>或使用ScriptManager.RegisterStartupScript方法。