结合用户控件中的 pageLoad() 代码?

Posted

技术标签:

【中文标题】结合用户控件中的 pageLoad() 代码?【英文标题】:Combine pageLoad() code from user control? 【发布时间】:2018-01-19 14:20:35 【问题描述】:

我有主要的default.aspx 页面,其中曾经有以下javascript

function pageLoad()
    
        fUpdateFavoriteImageIfNeeded();
        fJGPSSet();          
    

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

  function pageLoad()
        
            fUpdateFavoriteImageIfNeeded();                         
        

似乎如果调用页面最终在其Javascript 中列出了两个pageLoad() 函数,它只会运行最后一个。

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

【问题讨论】:

【参考方案1】:

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

类似:

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

【讨论】:

谢谢。我计划下周测试你的代码,然后可以将其标记为答案。

以上是关于结合用户控件中的 pageLoad() 代码?的主要内容,如果未能解决你的问题,请参考以下文章

PageMethods 和 UpdatePanel

WPF应用程序中,调用用户控件时,可以访问到在这个用户控件Xaml代码中的所有内容,这样岂不是不安全?

Winforms 控件结合了 SplitContainer 和 TableLayoutPanel 的优点

C# UWP 无法用代码显示用户控件

将数据加载到变量用户表单和控件中

用户控件中的Mvvm light SimpleIoC