• ToolkitScriptManager vs. ScriptManager 关于“只能向页面中添加 ScriptManager 的一个实例”讨论


    在使用ASP.NET设计AJAX功能网页时,需要首先声明ToolkitScriptManager或者ScriptManager控件,这些全局的脚本核心控制,然后才能使用众多的AJAX控件。如果没有创建这两个控件之一就直接使用AJAX控件,运行网页时会出现错误。

    就ToolkitScriptManager或ScriptManager来说,其作用是相同的,但实际使用中,注意到有如下情况出现(使用Visual Studio 2012版本):

    1、在使用Ajax Control Toolkit中的控件时,如果声明ToolkitScriptManager,则控件正常可以使用;但如果声明ScriptManager,那么控件不能使用,但也不出现错误信息。

    2、在使用VS2012本身自带的UpdatePanel时,笔者以往的用法(VS008)是声明ScriptManager,因为UpdatePanel与ScriptManager都在AJAX Extensions的Tab内,在VS2012中这种用法同样可以的;如果不声明ScriptManager而声明ToolkitScriptManager也可以使用UpdatePanel;但如果ToolkitScriptManager和ScriptManager两个同时在网页内声明,如下例:  

    <body>
        <form id="form1" runat="server">
            <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
            <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="Server" EnableScriptGlobalization="True" />
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
        <div id="content">

           则出现“只能向页面中添加 ScriptManager 的一个实例”错误,所以,只能使用其中一个Manager,否则两个就会打架;

    3、 网上有较详尽的分析文章,说明ToolkitScriptManager的性能比ScriptManager性能更好

    综合以上分析,因此可以总结如下:

    在使用ASP.NET设计AJAX网页时,尽量声明使用ToolkitScriptManager,它可以完成AJAX的所有工作,并且性能更佳,而ScriptManager有部分工作无法完成(AJAX Control Toolkit部分),并且性能稍差。

  • 相关阅读:
    在阿里云Centos下LNMP环境搭建
    Thinkphp5.0整合个推例子
    在H5页面内通过地址调起高德地图实现导航
    模仿segmentfault 评论
    无限极分类中递归查找一个树结构
    文件缓存
    职业发展
    Codeigniter-实现权限认证
    mysql 数据备份
    依赖注入+控制反转
  • 原文地址:https://www.cnblogs.com/wusir/p/3221010.html
Copyright © 2020-2023  润新知