ASP.NETAJAX多页面加载功能是否可能?
我有一个ASP.Net控件,它注入了javascriptASP.NETAJAX多页面加载功能是否可能?,asp.net,javascript,ajax,Asp.net,Javascript,Ajax,我有一个ASP.Net控件,它注入了javascriptpageLoad函数。我还可以直接在页面上使用pageLoad功能。我似乎不能让他们两个都开火。在javascript中,您是否仅限于一个同名函数?我不同意Shog9 我知道在一个文档中可以有多个$(document).ready(f(n))调用,每个调用在DOM完成加载时依次调用。我认为多次调用ClientScript.RegisterStartupScript()也不会导致任何问题 是的。。。与大多数语言一样,JavaScript要求符
pageLoad
函数。我还可以直接在页面上使用pageLoad
功能。我似乎不能让他们两个都开火。在javascript中,您是否仅限于一个同名函数?我不同意Shog9
我知道在一个文档中可以有多个$(document).ready(f(n))调用,每个调用在DOM完成加载时依次调用。我认为多次调用ClientScript.RegisterStartupScript()也不会导致任何问题 是的。。。与大多数语言一样,JavaScript要求符号在其范围内是唯一的。在JavaScript中,如果您为给定范围内的函数创建多个定义,那么最后一个要定义的定义将“获胜”——就好像以前的定义不存在一样 为了使冗余的
pageLoad
函数工作,您需要做的是使用Sys.Application.add\u load()
方法。使用它,可以将任意多个处理程序附加到页面加载事件。此外,您还可以使用匿名函数添加add\u load
方法。这样做将保证不会有使用重复名称的处理程序的危险。例如:
StringBuilder sb = new StringBuilder();
sb.Append("Sys.Application.add_load(");
sb.Append("function() { alert('page load'); });");
ClientScript.RegisterStartupScript(this.GetType(), "Page_Load", sb.ToString(), true);
您可以在客户端轻松地使用Sys.Application.add\u load,甚至可以多次添加相同的处理程序。这将导致多次启动同一个函数:)Josh,你说的是jQuery,它支持将多个处理程序绑定到单个事件。他说的是内置的ASP.NET AJAX自动绑定全局页面加载函数。虽然ASP.NET AJAX还支持将多个处理程序绑定到单个事件,但这并不会改变以下事实:底层语言不支持具有相同名称的多个函数!啊,说得好!我在原来的帖子里没看到。谢谢你纠正我的错误