编程语言
首页 > 编程语言> > 在asp.net页面中包含脚本的正确方法

在asp.net页面中包含脚本的正确方法

作者:互联网

我有一个ASP.NET应用程序,它使用ASP.NET AJAX(包括UpdatePanel)和由不同背景的几个开发人员编写的jQuery.

一些包含ScriptManager本身内的脚本< asp:ScriptManager>< Scripts>< asp:ScriptReference ....,而其他人在后面的代码中使用了Page.ClientScript.RegisterClientScriptInclude,而其他人则使用了直接< script src =“ “&GT包括脚本. 如果可能的话,我想整合到一种处理这种方式,但我不确定每种方式的优缺点是什么,哪种方式更受欢迎. 一个例子是:

protected override void Render(HtmlTextWriter writer)
 {
    Page.ClientScript.RegisterClientScriptInclude("jQuery", ResolveClientUrl("~/scripts/jquery/js/jquery-1.4.2.min.js"));    
    base.Render(writer);
}

VS

<asp:ScriptManager ID="ScriptManager1" runat="server">
    <Scripts>
        <asp:ScriptReference Path="~/scripts/jquery/js/jquery-1.4.2.min.js" />
    </Scripts>
</asp:ScriptManager>

VS

<script src="Scripts/jQuery/js/jquery-1.4.2.min.js" type="text/javascript"></script>

解决方法:

并不总是可以在标记中包含所有脚本.
如果脚本依赖于动态数据,那么您需要从后面的代码中“注入”脚本.

我的规则是始终尽量避免从代码中“注入”脚本,并且只使用它作为最后的手段.

编辑:
如果您有许多不同的脚本文件,则首选使用scriptmanager.
使用scriptmanager时,所有脚本将“连接”到一个文件中.这会影响浏览器下载脚本的方式.浏览器通常具有2个并发连接的限制,如果您有10个脚本,则需要以5个步骤全部下载它们. Scriptmanager将确保一切都在一步发生.

标签:scriptmanager,javascript,asp-net
来源: https://codeday.me/bug/20191007/1869628.html