我有一个可以执行某些操作的方法,它将一个 javascript 方法放入它使用的页面中。我需要确保它只将 javascript 方法放入一次,无论调用多少次。
最好的方法是什么?我可以搜索到目前为止已呈现的页面部分并查看该方法是否已创建吗?
最佳答案
我认为您想要查看的是 ClientScriptManager 对象的 IsClientScriptBlockRegistered/IsStartupScriptRegistered
方法,它允许您检查是否已经将一些带有键的脚本放入页面,例如
Dim myScriptKey As String = "myScriptBlock"
Dim myScript As String = "<script type='javascript'>alert('Hello world');</script>"
If Page.ClientScript.IsClientScriptBlockRegistered(myScriptKey) Then
'We've already output some script with this key to the page so don't put it out again
Else
Page.RegisterClientScriptBlock(type:=GetType(Me), key:=myScriptKey, script:=myScript, addScriptTags:=False)
End If
关于asp.net - 停止你的代码注入(inject) javascript 两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1820980/