[已编辑:经过对新机器和其他一些研究的交叉测试后,这似乎是在IIS 7中运行的一个问题。我已经在线阅读了很多关于问题的说明但是我看过的几个解决方案都没有感觉也没有(惊讶)工作。]
大家好,我是ASP.NET AJAX的新手,我的假设是配置问题。
我创建了一个新的ASP.NET Web应用程序,并将ASP.NET AJAX Control Toolkit添加到我的Visual Studio(2008)工具箱中。
将控件拖放到新页面并传递验证/调试时没有问题。我的问题是当我运行任何最基本的教程时,没有任何控件扩展器会触发任何事件。
例如,我正在关注本教程的后半部分:http://www.asp.net/%28S%28ywiyuluxr3qb2dfva1z5lgeg%29%29/learn/Ajax-Control-Toolkit/tutorial-48-cs.aspx
我的aspx看起来像这样:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ShowConfirmButton.aspx.cs" Inherits="ASP.NET_AJAX_Sandbox.ShowConfirmButton" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server"><title></title></head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:ConfirmButtonExtender ID="Button1_ConfirmButtonExtender" runat="server" ConfirmText="Really?" Enabled="True" TargetControlID="Button1">
</asp:ConfirmButtonExtender>
</div>
</form>
</body>
</html>
当我运行页面时,我看到了我的按钮,但是单击它只会进行POST。
我的项目中的bin目录包含System.Web.Ajax.dll和AjaxControlToolkit.dll。我对我尝试过的非扩展器没有任何问题(例如编辑器控件)。 我在使用ModalPopupExtender,DropDownExtender和CalendarExtender时遇到了类似的结果。
在检查为该页面生成的HTML时,插入了大量的JavaScript,所以很明显发生了一些事情(这里粘贴相当大)。
这是一个全新的沙箱项目,所以我不相信我有任何遗留配置问题。
有什么想法吗?
答案 0 :(得分:1)
想出来。在IE中加载页面(而不是FireFox)非常清楚页面上有JavaScript错误。
我收到的错误消息是:
Microsoft JScript运行时错误:AjaxControlToolkit需要ASP.NET Ajax 4.0脚本。确保引用了正确版本的脚本。如果您使用的是ASP.NET ScriptManager,请切换到System.Web.Ajax.dll中的AjaxScriptManager,或使用AjaxControlToolkit.dll中的ToolkitScriptManager。
我的解决方案是将页面中的ScriptManager从<asp:ScriptManager>
更改为<asp:ToolkitScriptManager>
。 ASP.NET中的基本脚本管理器无法处理这些扩展。