MVC3 PartialView として実装された再利用可能なコンポーネントがあります。コンポーネントには、実行するために JavaScript 初期化コードを必要とする jquery-ui ウィジェットが含まれています。以下は簡単な例です。
==== MySimplifiedPartialView.cshtml ====
<div id="myTabs">
<ul>
<li><a href="#myTabs-tab1">Tab 1</a></li>
<li><a href="#myTabs-tab2">Tab 2</a></li>
<li><a href="#myTabs-tab3">Tab 3</a></li>
<li><a href="#myTabs-tab4">Tab 4</a></li>
</ul>
<div id="myTabs-tab1">
...content
</div>
<div id="myTabs-tab2">
... content
</div>
... etc ...
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#myTabs").tabs();
});
</script>
この PartialView がページに正常に読み込まれると、初期化コード$(document).ready
が実行され、ウィジェットが適切に初期化されます (この場合は jquery-ui タブとして)。
ただし、たとえば AJAX 要求の結果として、この PartialView を動的に DOM にロードできるようにしたいと考えています。この場合、初期化コードが確実に実行されるようにする通常の方法は何ですか? ASP.NET WebForms アプリでは、を使用しUpdatePanel
、load イベントを処理することでこれを実現します。次に例を示します。
Sys.Application.add_load(function () {
$("#myTabs").tabs();
});
MVC3 アプリケーションで同等のものは何ですか?