1

私はこれに数時間苦労してきましたが、何が起こっているのか、またはこれに関連する関連サイトを理解できないようです. 私がやろうとしているのは、Ajax Control Toolkit と 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 Webサイトは.NET 4.0フレームワークをターゲットにしています。バージョン 4.1.60501.0 の AjaxControlToolkit.dll を使用しています。Jquery は 1.7.2 分のバージョンです。

jquery スクリプト行または ToolkitScriptManager のいずれかをコメント アウトすると、javascript エラーは発生しません。両方が含まれている場合、エラーが発生します

「Microsoft JScript ランタイム エラー: Sys.ArgumentException: ID 'form1' の要素が見つかりませんでした。パラメーター名: elementOrElementId」

Stacktrace は DomElement$resolveElement(elementOrElementId, containerElement) javascript 関数を犯人として提供しています。

どんな助けでも大歓迎です。

4

2 に答える 2

7

これはばかげているように聞こえますが、スクリプトタグを次のように変更します。

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

終了スクリプトタグを使用していることを確認します(これは非常に重要です)。

于 2012-06-22T19:50:10.030 に答える
0

要素には、form1この ID をクライアント側で使用できないサーバー側 ID があります。this.form1.ClientIDクライアント側のプロパティを取得するには、サーバー側のプロパティを使用する必要があります(のようなものctrl00_form1)。runat="server"または、サーバー側のフォームへのアクセスに使用しない場合は、を削除できます。

編集:

私はあなたの質問を誤解しているかもしれません: このコードが例外をスローする場合、スクリプトタグを次のように書く必要があるかもしれません: <script type="..." src="..."></script>(自己閉鎖ではありませんが空です)。

于 2012-06-22T19:32:30.617 に答える