我有default.aspx主页面,该页面中以前包含以下Javascript

function pageLoad()
    {
        fUpdateFavoriteImageIfNeeded();
        fJGPSSet();
    }


现在,尽管我有一个新的用户控件UserControlFavoriteUpdate.ascx并希望包含以下内容,以便任何嵌入了用户控件的页面也都包含该Javascript

  function pageLoad()
        {
            fUpdateFavoriteImageIfNeeded();
        }


看来,如果调用页面最后在其pageLoad()中列出了两个Javascript函数,则它仅运行最后一个。

如何将用户控件的pageLoad()代码合并到调用页面的pageLoad()中?在最坏的情况下,我可以手动将该行放入调用页面代码中,但希望将其全部保留在UserControlFavoriteUpdate.ascx中,以防其他人将该控件嵌入到页面中却没有意识到它需要该pageLoad()代码。

最佳答案

考虑在用户控件背面的Page_Load()方法中添加加载脚本,以避免在同一范围内出现重复的方法。

就像是:

Page.ClientScript.RegisterStartupScript(
    Me.[GetType](),
    "LoadScript",
    "Sys.Application.add_load(function() { fUpdateFavoriteImageIfNeeded(); });",
    True);

08-18 22:20