繁体   English   中英

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

[英]Ajax Control Toolkit and Jquery not getting along in ASP.NET 4.0

我已经为此苦苦挣扎了好几个小时,似乎无法弄清楚正在发生什么或与此有关的任何相关网站。 我要做的就是同时使用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'的元素。参数名称:elementOrElementId”

Stacktrace给了我DomElement $ resolveElement(elementOrElementId,containerElement)JavaScript函数作为罪魁祸首。

任何帮助,将不胜感激。

听起来很荒谬,请将您的脚本标签更改为:

<script type="text/javascript" 
        src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"
        language="javascript"></script> 

观察到我正在使用结束脚本标记(这很关键)。

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

编辑:

我可能会误解您的问题:如果此代码引发异常,则可能必须以这种方式编写脚本标记: <script type="..." src="..."></script> (非自闭包,但空)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM