まず、部分ビューに移動してロードするためのベストプラクティスの方法が欠けていると確信しています。だから、私がこれについて間違ったやり方をしているなら、私に知らせてください。これを必要以上に難しくしている気がします。
私が達成しようとしているのは、Web サイトをシングル ページ アプリのように動作させることです。それを行うために、div 内に多くの部分ビューがあります。アクティブな div 以外のすべての div を非表示にします。コードが表示されている場合にのみ部分ビューでコードを実行する方法がわかりません。
このシナリオで私が関心を持っている div と部分ビューを次に示します (これは Index.cshtml にあります)。
<div id="app">
@Html.Partial("~/Views/PartialViews/App.cshtml")
</div>
そして、これはその部分的なビューを示す JavaScript です (これも Index.cshtml にあります)。
function showApp(id) {
hideAll();
$('#txtAppId').val(id); // This is how I'm passing data to the partial view
$('#app').show();
}
これは (少なくとも部分的なビューを表示する限り) うまく機能しますが、このように表示されている場合にのみApp.cshtml のコードを実行するにはどうすればよいですか?
App.cshtml (部分ビュー) で:
<script>
$(function() {
// Note: This will execute as soon as the main page is loaded. I don't want
// code to execute right away, but only when this view is shown.
});
function doSomething() {
// Only when this view is shown do I want code to execute here.
}
</script>
doSomething()
部分ビューが表示されているときに実行するにはどうすればよいですか?