0

在大量敲打头部和手动逐行代码删除之后,我发现RegisterClientScriptIncludeASCX Web 控件内的调用导致多个 page_load 事件触发。这只发生在 ASCX 包含在某些页面上,而不是其他页面上时。

删除这行代码会导致双重回发停止:

Page.ClientScript.RegisterClientScriptInclude(
    Page.GetType(), 
    "[SCRIPTNAME]", 
    "[SCRIPTFILE].js")

我也试过这个,不包括Page.GetType(),无济于事。

4

1 回答 1

0

那行代码不应该导致多个页面加载......可能还有其他事情发生......我会在页面级别打开跟踪并抛出一些 Trace.Warn 语句以查看发生了什么......

但是我不是 Page.ClientScript.RegisterClientScriptInclude() 方法的忠实拥护者,并且发现在父 aspx 页面中包含 .js 文件通常更容易......如果该 .js 文件对性能造成非常轻微的影响在特定页面上不需要...

于 2013-11-07T06:14:51.820 回答