Javascript RegisterStartupScript与jQuery脚本的行为不符合预期
我有一个带有更新面板的页面,在这个更新面板中,我有一个按钮,我想通过输出JavaScript显示/隐藏该按钮,给定一些参数,我使用例如:Javascript RegisterStartupScript与jQuery脚本的行为不符合预期,javascript,asp.net,Javascript,Asp.net,我有一个带有更新面板的页面,在这个更新面板中,我有一个按钮,我想通过输出JavaScript显示/隐藏该按钮,给定一些参数,我使用例如: RegisterStartupScript(Me.Page, Me.GetType(), "deleteHideScript", "$('.deleteButton').hide();", True) 我能够运行$('.deleteButton').hide()位并获得所需的效果。我还能够以同样的方式将脚本输出到console.log('imHere'
RegisterStartupScript(Me.Page, Me.GetType(),
"deleteHideScript", "$('.deleteButton').hide();", True)
我能够运行$('.deleteButton').hide()在控制台中的代码>位并获得所需的效果。我还能够以同样的方式将脚本输出到console.log('imHere')代码>并获得预期的行为
我遗漏了什么?您需要在jQuery脚本标记之前检查脚本是否被注入
如果您使用ScriptManager
引用脚本,则可能会出现类似的情况
您可以将jQuery引用移动到
或使用方法中。您需要检查脚本是否在jQuery脚本标记之前注入
如果您使用ScriptManager
引用脚本,则可能会出现类似的情况
您可以将jQuery引用移动到
或使用方法中。部分渲染是问题所在。无法注册启动脚本以在异步回发后显示警报。您必须找到另一种实现相同效果的方法,或者在需要显示警报时执行完整的回发
您可以尝试设置EnablePageHeadUpdate=“true”
,但我不能保证这会有任何效果
编辑
由于部分渲染,脚本在渲染按钮之前运行,这会导致出现问题。如果您能在脚本执行之前找到渲染按钮的方法,则应设置好所有设置。部分渲染是问题所在。无法注册启动脚本以在异步回发后显示警报。您必须找到另一种实现相同效果的方法,或者在需要显示警报时执行完整的回发
您可以尝试设置EnablePageHeadUpdate=“true”
,但我不能保证这会有任何效果
编辑
由于部分渲染,脚本在渲染按钮之前运行,这会导致出现问题。如果您能在脚本执行之前找到渲染按钮的方法,您应该已经设置好了。按钮在更新面板中吗?@RossDargan是,如上所述,按钮在更新面板中吗?@RossDargan是,如上所述,按钮在更新面板中,我认为这不是问题所在。@djsold不,jQuery脚本在呈现时高于所有其他脚本。谢谢您的尝试。我认为这不是问题所在。@djsold不,jQuery脚本在呈现时高于所有其他脚本。感谢您的尝试。我提到我可以使用相同的方法添加一个脚本,它可以很好地写入日志。因此,我知道在某些情况下注册是有效的。写入日志与在页面上显示警报不同。我猜我的JS noobness正在显示出来,我隐藏了一个按钮,没有显示任何警报,警报是我没有想到的概念吗?哦,抱歉,我想我把你和另一个问题搞混了!是您试图隐藏在更新面板中的按钮吗?即使是这样,我也不知道你是否可以在非同步回发中写入文档。因此,你为我指出了正确的路径,似乎部分渲染是个问题,基本上脚本是在按钮实际渲染之前渲染和运行的。请修改你的答案,我会接受它。我提到,我能够添加一个脚本,写到日志使用相同的方法刚刚好。因此,我知道在某些情况下注册是有效的。写入日志与在页面上显示警报不同。我猜我的JS noobness正在显示出来,我隐藏了一个按钮,没有显示任何警报,警报是我没有想到的概念吗?哦,抱歉,我想我把你和另一个问题搞混了!是您试图隐藏在更新面板中的按钮吗?即使是这样,我也不知道你是否可以在非同步回发中写入文档。因此,你为我指出了正确的路径,似乎部分渲染是个问题,基本上脚本是在按钮实际渲染之前渲染和运行的。请修改你的答案,我会接受的。