我有一个 ASP.NET 应用程序,它混合使用了由不同背景的几位开发人员编写的 ASP.NET AJAX(包括 UpdatePanel)和 jQuery。
一些包含在 ScriptManager 本身中的脚本<asp:ScriptManager><Scripts><asp:ScriptReference....
,而其他人则使用Page.ClientScript.RegisterClientScriptInclude
在后面的代码中,其他人直接使用<script src="">
包括脚本。
如果可能的话,我想合并为一种处理此问题的方法,但我不确定每种方法的优缺点是什么以及首选哪种方法。
一个例子是:
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>
An <asp:scriptreference>
是声明式调用的等价物ScriptManager.RegisterScriptBlock()
,就像任何其他 ASP.NET 控件声明一样,类似于进行编程Controls.Add()
.
话虽这么说,确实没有“首选方法”。如果您正在构建可分发的 Web 控件,那么您将需要调用各种.RegisterScript...()
控件的设置例程中的方法,而不是依赖用户添加标记。
如果您只想在网站中包含脚本,那么使用标记方法可能更方便。
如果您在 Ajax 调用期间添加脚本,那么您需要使用ScriptManager
去做吧。如果您要在常规回发中添加脚本,那么您需要使用ClientScriptManager
去做吧。
所以......很难列举优点和缺点。就您而言,如果您不构建可重新分发的代码,那么最明显、最直接的方法是通过标记包含脚本引用,因为它往往更明显。但我不确定你是否能够巩固every出现一种方法,因为所有方法的存在都是有原因的,并且您可能需要使用多种方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)