我在整个项目中使用的公共用户控件中有一个js方法。此UserControl
用于我网页上的多个位置。
js方法写成:
function <%= this.ClientID%>DoSomething()
{
//do something
}
有没有办法可以使用jquery从父页面调用此方法?
任何想法都会有所帮助。
答案 0 :(得分:1)
你必须知道<%= this.ClientID%>
所以应该保存在某个地方。
window.clientID = "<%= this.ClientID%>";
调用该函数可以尝试类似
window[window.clientID + "DoSomething"]()
由于函数已保存到文档中,因此您可以像访问普通数组一样访问它们。通常情况下,您可以将其称为window.doSomething()
或doSomething()
,结果相同。
工作版
window.myFunction = function()
{
alert("YEAH");
}
window.clientID = "my";
alert(window[window.clientID + 'Function']);
答案 1 :(得分:0)
您的方法(在UserControl中定义的JavaScript方法)理论上可以从任何地方轻松调用,只要您可以在客户端找到它,并且已经定义了它。
现在,在UserControl中,您可以将公共参数公开给外部世界(例如Page),在页面中,您可以从用户控件获取该参数,然后构建对JavaScript方法的调用。