0

asp-mvc4の別のビュー内に特定のビューの要素を表示しようとしています

index1.cshtml:

<div id="divToUpdate"></div>

index2.cshtml:

<div id="sss"><table id="grid1"></table></div>
<div id="fff">Hello!</div>

私のjavascriptファイルで:

 $('#ThisIsALink').click(function () {
    $('#divToUpdate').load('../Employee/Index #fff');
});

このスクリプトは「Hello!」を表示します index1.cshtmlのdivにありますが、代わりに「../Employee/Index #sss」と書くと、テーブル(実際にはjqgrid)は表示されません。何故ですか?

4

1 に答える 1

0

その理由は、テーブルがjavascriptによって作成されているためです。

接尾辞付きのセレクター式のないURLを使用して.load()を呼び出すと、スクリプトが削除される前にコンテンツが.html()に渡されます。これにより、スクリプトブロックが破棄される前に実行されます。ただし、URLにセレクター式を追加して.load()を呼び出すと、DOMが更新される前にスクリプトが削除されるため、スクリプトは実行されません。

テーブルjqgridに使用されているJavaScriptは実行されないため、jqgridは表示されません。

于 2012-06-01T06:54:00.500 に答える