1

jQuery コードを .ascx ページに入れることはできますか?

ASP.NET プロジェクトで使用するユーザー コントロールがあります。default.aspx ページで何かを選択すると、そのコントロールの複数のインスタンスが動的に作成されます。そのユーザー コントロールの一部を jQuery で操作したいと考えています。ただし、jQuery は読み込まれていないようです。

MasterPage で jQuery ライブラリを参照しています。default.aspx から次のコードをテストして動作しましたが、ascx ページ内から同じコードを使用しても応答がありません。

<script type="text/javascript" charset="utf-8">
    if (typeof ($) != 'function') alert('This component requires jQuery.');
    else $(function () { alert('The DOM is ready for jQuery manipulation.'); });
</script>

何か案は ?

どうも。

4

2 に答える 2

0

masterpage で jQuery を参照した場合は、.ascx でアクセスできます。

これを $(document).ready(function(){ /* your code.. */ });の中に入れてもらえますか? -ascx-で確認しますか?

于 2013-06-05T13:51:59.497 に答える
0

<script>JavaScript または JQuery のコード行をユーザー コントロール .ascx に含めて実行するには、HTML コードにタグを挿入する必要はありません。JQuery ファイルへの参照が必要な場合にのみ、それを使用してください。Load や UpdatePanel ユーザー コントロールなどの ASP.NET ページ イベントは、.aspx ページで読み込みが完了したときなど、クライアント側のイベントをトリガーするとは限りません。これを取得するには、ScriptManager.RegisterClientScriptBlock を使用する必要があります。サンプルで成功するには、.ASCX コントロールの Load イベントで次のコードを設定します。

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ActivateJsSample", 
@"<script type = 'text/javascript'>
if (typeof ($) != 'function') alert('This component requires jQuery.');
else $(function () { alert('The DOM is ready for jQuery manipulation.'); });
});
</script>", false);

これは、ユーザー コントロールの Load イベントと同期して起動し、毎回起動します。

于 2013-07-01T04:58:45.503 に答える