RegisterStartupScript与jQuery脚本的行为不符合预期

RegisterStartupScript not behaving as expected with jQuery script

本文关键字:不符合 jQuery 脚本 RegisterStartupScript      更新时间:2023-09-26

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

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

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

我错过了什么?

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

你可以尝试设置EnablePageHeadUpdate="true",但我不能保证会有任何效果。

编辑

由于部分呈现,脚本在按钮呈现之前运行,这就是导致您的问题的原因。如果你能找到一种在脚本执行之前呈现按钮的方法,那么你应该已经设置好了。

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

如果您使用ScriptManager来引用脚本,则可能出现类似的情况。

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