私はMVCが初めてです。MVC3を使用しています。他の複数のビューで共有されている 3 つの部分ビューを作成しました。だから私は別々のdivコントロールに各部分ビューをロードしています
<div data-role="content" id="div_parent" style="background-color: #454545"
<div id="div1" style="display:none">
@Html.Partial("_View1")
</div>
<div id="div2" style="display:none;">
@Html.Partial("_View2")
</div>
<div id="div3" style="display:none">
@Html.Partial("_View3")
</div>
</div>
すべてのビューを非表示にしています
$(document).ready(function () {
$("#div1").hide();
$("#div2").hide();
$("#div3").hide();
}); // end of change
});
そして、オプションを選択すると、それぞれのビューが表示されます
<select id="views" data-mini="true" data-native-menu="false">
<option value="view1" data-mini="true">view1</option>
<option value="view2" data-mini="true">view2</option>
<option value="view3" data-mini="true">view3</option>
</select>
function ShowView(viewType)
{
$("#div1").show();
$("#div2").hide();
$("#div3").hide();
}
しかし、ここでの問題は、3つのビューすべてに同じ名前のjavascript関数があるため、view1のボタンをクリックすると、view2またはview3のjavascript関数が呼び出されます。そのため、div が非表示の JavaScript 関数であっても、HTML ページにロードされます。これは 1 つのシナリオです。他にも問題があります。したがって、私の質問は、この状況を回避する方法です。ビューでhtml全体をレンダリングせずに非表示にするようにビューをロード/アンロードする方法。