问题: 我有一个用户控件(.ascx),里面有大量的javascript代码。我在同一页面上有两个用户控件实例。当代码运行时,两个用户控件的行为不正常,因为所有同名的 js 对象只能有一个值(包括函数)。javascript 在后面的代码中,它是通过“ScriptManager.RegisterStartupScript(.....)”注册的。
我已经进行了彻底的搜索,尽管有一些带有建议的线程,但除了逐字逐句地检查整个用户控件并将 ID 附加到会引发冲突问题的函数名称之外,我没有发现任何其他方法。(这需要仔细检查所有代码并确定是否有问题)。
例子:
Dim asdf As String = ""
asdf &= "function foo" & UNIQUE_ID & "() {" & vbCrLf
asdf &= .....u get the idea......
asdf &= "}"
还有比这更优雅的解决方案吗?出于这个原因将javascript放在用户控件中只是不好的做法吗?