我有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);