gpt4 book ai didi

ASP.Net AJAX 多个 pageLoad 函数可能吗?

转载 作者:可可西里 更新时间:2023-11-01 01:28:47 24 4
gpt4 key购买 nike

我有一个注入(inject) javascript pageLoad 函数的 ASP.Net 控件。我还有一个直接在页面上的 pageLoad 函数。我似乎无法让他们都开火。您是否仅限于 javascript 中具有相同名称的单个函数?

最佳答案

是的...像大多数语言一样,JavaScript 要求符号在其范围内是唯一的。在 JavaScript 中,如果您在给定范围内为一个函数创建多个定义,那么最后一个被定义的定义将“获胜”——就好像以前的定义从未存在过一样。

为了使冗余的 pageLoad 函数正常工作,您需要做的是使用 Sys.Application.add_load() 方法。使用它,您可以将任意数量的处理程序附加到页面加载事件。更重要的是,您可以使用匿名函数在 add_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_load,甚至可以多次添加相同的处理程序。这将导致多次触发相同的函数 :)

关于ASP.Net AJAX 多个 pageLoad 函数可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/988166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com