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部分),並且性能稍差。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM