Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NETAJAX多页面加载功能是否可能?_Asp.net_Javascript_Ajax - Fatal编程技术网

ASP.NETAJAX多页面加载功能是否可能?

ASP.NETAJAX多页面加载功能是否可能?,asp.net,javascript,ajax,Asp.net,Javascript,Ajax,我有一个ASP.Net控件,它注入了javascriptpageLoad函数。我还可以直接在页面上使用pageLoad功能。我似乎不能让他们两个都开火。在javascript中,您是否仅限于一个同名函数?我不同意Shog9 我知道在一个文档中可以有多个$(document).ready(f(n))调用,每个调用在DOM完成加载时依次调用。我认为多次调用ClientScript.RegisterStartupScript()也不会导致任何问题 是的。。。与大多数语言一样,JavaScript要求符

我有一个ASP.Net控件,它注入了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还支持将多个处理程序绑定到单个事件,但这并不会改变以下事实:底层语言不支持具有相同名称的多个函数!啊,说得好!我在原来的帖子里没看到。谢谢你纠正我的错误