[英]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.