0

ASP.NETMVC部分ビューをレンダリングするhtml.RenderPartialを含むページがあります。

部分ビューはjQueryダイアログとして使用され、レンダリングされたページから開かれます。

問題は、部分ビュー内で、ダイアログが表示されたときに変数をロードして保存したいということです。このデータは、ダイアログ内での作業中に検索に使用されます。ただし、部分ビューを含むページが読み込まれると、部分ビューgetJson内のjQueryが2回呼び出されます。なんで?

部分ビュー内のコードは次のようになります。

<script type="text/javascript">
$(function() {
    var groups = null;    

    $.getJSON("/RessourceGroup/List", null, function(data) {
        groups = data;
    });

Firebugでは、ページ(ビュー)が1回ロードされているのを確認できますが、部分ビューの上記のスクリプトは2回呼び出されます。なんで?

4

1 に答える 1

1

これは、ページが読み込まれるときに読み込まれるようです。ダイアログがポップアップしたときに、AJAXを介してパーシャルをリロードしていますか?もしそうなら、それはおそらく再び実行されます。

編集:更新に基づいて、スクリプトタグがDIV内にあり、ダイアログウィジェットが呼び出されたときにDIVが複製されていると思われます。ダイアログが使用しているDIVの外にスクリプトを移動すると、問題が解決するはずです。

于 2009-07-08T21:32:59.520 に答える