Ajax控件工具包和Jquery在ASP.NET 4.0中不兼容
我已经为此挣扎了好几个小时,似乎无法弄清楚到底发生了什么,也无法弄清楚任何与此相关的网站。我所要做的就是同时使用Ajax控件工具包和JQuery 下面是重新创建问题所需的唯一代码Ajax控件工具包和Jquery在ASP.NET 4.0中不兼容,asp.net,ajax,visual-studio-2010,.net-4.0,ajaxcontroltoolkit,Asp.net,Ajax,Visual Studio 2010,.net 4.0,Ajaxcontroltoolkit,我已经为此挣扎了好几个小时,似乎无法弄清楚到底发生了什么,也无法弄清楚任何与此相关的网站。我所要做的就是同时使用Ajax控件工具包和JQuery 下面是重新创建问题所需的唯一代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestForm.aspx.cs" Inherits="TestWebsite.TestForm" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestForm.aspx.cs" Inherits="TestWebsite.TestForm" %>
<!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>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"
language="javascript" />
</head>
<body>
<form id="form1" runat="server">
<ajax:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</ajax:ToolkitScriptManager>
<div>
</div>
</form>
</body>
</html>
如果有关系,我将使用Visual Studio 2010 professional。我的asp.net网站的目标是.net 4.0框架。我使用的是AjaxControlToolkit.dll,其版本为4.1.60501.0。Jquery是1.7.2分钟的版本
如果我注释掉jquery脚本行或ToolkitScriptManager,我不会得到任何javascript错误。如果它们都包括在内,我会得到错误
“Microsoft JScript运行时错误:Sys.ArgumentException:找不到id为'form1'的元素。
参数名称:ElementElementId“
Stacktrace将DomeElement$resolveElement(ElementElementId,containerElement)javascript函数作为罪魁祸首
任何帮助都将不胜感激。元素具有服务器端idform1
您不能在客户端使用此id。
您必须使用服务器端属性this.form1.ClientID
来获取客户端属性(类似于ctrl00\u form1
)。
或者,如果不使用访问表单服务器端,可以删除runat=“server”
编辑:
我可能误解了您的问题:如果此代码引发异常,您可能必须这样编写脚本标记:
(非自动关闭但为空)。元素具有服务器端idform1
,您不能在客户端使用此id。
您必须使用服务器端属性this.form1.ClientID
来获取客户端属性(类似于ctrl00\u form1
)。
或者,如果不使用访问表单服务器端,可以删除runat=“server”
编辑:
我可能误解了您的问题:如果此代码引发异常,您可能必须按以下方式编写脚本标记:
(非自动关闭但为空)。尽管听起来很不可思议,请将脚本标记更改为:
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"
language="javascript"></script>
请注意,我正在使用一个结束脚本标记(这是至关重要的)。尽管听起来很不可思议,但请将脚本标记更改为:
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"
language="javascript"></script>
请注意,我正在使用结束脚本标记(这非常重要)。不确定,但您可能必须将jQuery文件作为脚本资源添加到toolkitscriptmanager中。不确定,但您可能必须将jQuery文件作为脚本资源添加到toolkitscriptmanager中。我没有任何引用form1的代码。当您创建一个新的aspx页面时,这是自动生成的,我不能删除runat服务器,因为这最终会破坏其他代码。这是我可以设置的最基本的默认aspx页面,能够重现问题。我没有任何引用form1的代码。当您创建一个新的aspx页面时,这是自动生成的,我不能删除runat服务器,因为这最终会破坏其他代码。这是我能设置的最基本的默认aspx页面,能够重现问题。哇……多么完整和彻底的胡说八道。这确实解决了它…或者是我的沮丧和重新启动解决了它:)顺便问一句,你知道为什么使用长格式结束脚本来解决它吗?这个规范应该会有一些启发:。我个人认为这是一个bug:D@DanP这与MIME类型有关。看看问题的答案。哇……多么彻底的胡说八道。这确实解决了它…或者是我的沮丧和重新启动解决了它:)顺便问一句,你知道为什么使用长格式结束脚本来解决它吗?这个规范应该会有一些启发:。我个人认为这是一个bug:D@DanP这与MIME类型有关。看看这个问题。