现在的位置: 首页 > 综合 > 正文

ATLAS升级为ASP.NET AJAX 1.0时”ScriptManager找不到”问题的解决

2013年10月17日 ⁄ 综合 ⁄ 共 2615字 ⁄ 字号 评论关闭
 目前参加项目是从去年开始的,去年用的ATLAS做了一些东西,今天上面要求升级为AJAX 1.0的版本。
先从微软网站下载了ASP.NET AJAX 1.0(版本号:1.0.61025.0) 以及 32发布的 AjaxControlToolkit (版本号:1.0.10301.0)
接下来就是安装。
先从控制面板卸载以前安装的ATLAS,再执行ASPAJAXExtSetup.msi进行安装,安装过程一切顺利。
工具栏中选择项目的方式先把AjaxControlToolkit那一套东东更新了,准备用确认按钮测试一下。
新建了一个ASP.NET AJAX-Enabled Web Site项目,页面已经自动添加了一个ScriptManager,拖入了一个UpdatePanel,放入一个按钮,再拖了一个ConfirmButtonExtender放在按钮旁边,关联上按钮,写入确认的文本,运行网站。

程序报错:
The control with ID 'UpdatePanel1' requires a ScriptManager on the page. The ScriptManager must appear before any controls that need it.

我怀疑自己的眼睛,ScriptManager 不是已经在页面上了吗?难道'UpdatePanel1'对他视而不见

出问题的代码:


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>


<%@ Register Assembly="Microsoft.Web.Atlas" Namespace="Microsoft.Web.UI" TagPrefix="cc1" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title>Untitled Page</title>
</head>
<body>
    
<form id="form1" runat="server">
        
&nbsp; &nbsp;&nbsp;
        
<cc1:ScriptManager ID="ScriptManager1" runat="server">
        
</cc1:ScriptManager>
        
&nbsp;
        
        
&nbsp;&nbsp;
        
<cc1:UpdatePanel ID="UpdatePanel1" runat="server">
            
<ContentTemplate>
                
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
                
<asp:Label ID="Label1" runat="server" Text="Label" Width="346px"></asp:Label>
                
<cc2:ConfirmButtonExtender ID="ConfirmButtonExtender1" TargetControlID="Button1" ConfirmText="hekui,确认删除?" runat="server">
                
</cc2:ConfirmButtonExtender>
            
</ContentTemplate>
        
</cc1:UpdatePanel>
    
</form>
</body>
</html>


又检查了一遍代码,发现页面顶上的声明好像有问题:怎么还会出现ATLAS的字样。再检查项目引用,果然还有一个Microsoft.Web.Atlas.dll在,遂删除,并重新添加最新的ajax扩展的三个dll到项目(文件:AJAXExtensionsToolbox.dllSystem.Web.Extensions.dllSystem.Web.Extensions.Design.dll 所处路径:C:/Program Files/Microsoft ASP.NET/ASP.NET 2.0 AJAX Extensions/v1.0.61025
工具栏上再把Microsoft.Web.Atlas的选项去掉,重新添加AJAXExtensionsToolbox.dll的选项。再次放入ScriptManagerUpdatePanel,再次执行程序,一切正常了。耶~~~

改正后的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title>Untitled Page</title>
</head>
<body>
    
<form id="form1" runat="server">
        
&nbsp;

抱歉!评论已关闭.