将此javascript添加到Asp.Net网站的最佳方法?

时间:2013-10-11 08:03:04

标签: javascript jquery asp.net

我有几个小的javascript函数:

// Show cookie notice
$('#site-cookie-notice').slideDown();

// Hide cookie notice
$('.close-cookie-notice').click(function (e) {

    if (e.preventDefault) {
        e.preventDefault();
    }
    else {
        e.returnValue = false;
    }

    $('#site-cookie-notice').slideUp();
});

这些功能仅与单个用户控件相关,在用户访问中最多出现一次(对于回头客而言根本不显示)。其余的时间没有呈现控件。

上面的代码目前驻留在我的global.js中,在document.ready函数中,所以加载每一页,但是看起来这是错误的资源的不必要使用。

我有兴趣知道是否有更好的方法在这样的特定基础上注册此代码。

2 个答案:

答案 0 :(得分:1)

您可以使用ScriptManager类在用户控件的加载中注册脚本。这也可用于确保脚本不会多次加载。

您可以使用RegisterClientScriptBlockRegisterClientScriptInclude,具体取决于您是要在线提供脚本还是将其放在单独的文件中。

答案 1 :(得分:0)

使用用户控件中的ScriptManagerProxy引用此脚本。这将包含在您的页面上,而不必在所有页面上都有。

这需要在母版页或内容页面上使用ScriptManager或ToolkitScriptManager(如果使用AjaxControlToolkit)。每个渲染页面只能有一个脚本管理器。

http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanagerproxy.aspx