使用jquery / javascript从页面调用用户控件中的js代码

时间:2011-11-16 09:22:55

标签: javascript jquery asp.net controls

我在整个项目中使用的公共用户控件中有一个js方法。此UserControl用于我网页上的多个位置。 js方法写成:

function <%= this.ClientID%>DoSomething()
{
//do something
}

有没有办法可以使用jquery从父页面调用此方法?

任何想法都会有所帮助。

2 个答案:

答案 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']);

现场演示:http://jsfiddle.net/EbdwK/

答案 1 :(得分:0)

当然

您的方法(在UserControl中定义的JavaScript方法)理论上可以从任何地方轻松调用,只要您可以在客户端找到它,并且已经定义了它。

现在,在UserControl中,您可以将公共参数公开给外部世界(例如Page),在页面中,您可以从用户控件获取该参数,然后构建对JavaScript方法的调用。