Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax控件工具包和Jquery在ASP.NET 4.0中不兼容_Asp.net_Ajax_Visual Studio 2010_.net 4.0_Ajaxcontroltoolkit - Fatal编程技术网

Ajax控件工具包和Jquery在ASP.NET 4.0中不兼容

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

我已经为此挣扎了好几个小时,似乎无法弄清楚到底发生了什么,也无法弄清楚任何与此相关的网站。我所要做的就是同时使用Ajax控件工具包和JQuery

下面是重新创建问题所需的唯一代码

<%@ 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函数作为罪魁祸首

任何帮助都将不胜感激。

元素具有服务器端id
form1
您不能在客户端使用此id。 您必须使用服务器端属性
this.form1.ClientID
来获取客户端属性(类似于
ctrl00\u form1
)。 或者,如果不使用访问表单服务器端,可以删除
runat=“server”

编辑:

我可能误解了您的问题:如果此代码引发异常,您可能必须这样编写脚本标记:
(非自动关闭但为空)。

元素具有服务器端id
form1
,您不能在客户端使用此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类型有关。看看这个问题。