在ascx控件或父页面上定义javascript?

时间:2011-11-06 23:30:57

标签: c# javascript asp.net

我遇到了一些无效的javascripts问题。我的asp.net 3.5 webforms应用程序有一个页面,其中包含几个包含javascript的用户控件(ascx)。并非所有这些都有效将javascript放入最佳做法是什么?在父页面的头部分或用户控件?我也总是需要这样定义吗?我这里不使用任何js框架:

window.onload = function(){ 
//initialize js scripts

}

1 个答案:

答案 0 :(得分:1)

我会在控件中使用RegisterStartupScript并让ASP.NET为您工作。此外,如果您在页面上有多个相同控件的实例,这将防止出现许多问题:

    String csname1 = "PopupScript";
    Type cstype = this.GetType();

    // Get a ClientScriptManager reference from the Page class.
    ClientScriptManager cs = Page.ClientScript;

    // Check to see if the startup script is already registered.
    if (!cs.IsStartupScriptRegistered(cstype, csname1))
    {    
        cs.RegisterStartupScript(cstype, csname1, "alert('Hello World!')", true);
    }