我是MVC的新手。我正在使用MVC3。我創建了三個部分視圖,這些視圖正在多個其他視圖中共享。 所以我裝在單獨的DIV控制MVC 3加載/卸載局部視圖
<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函數。所以儘管divs是隱藏的javascripts函數仍然加載在html頁面上。 這是一種情況。還有其他問題。所以我的問題是如何避免這種情況。 如何加載/卸載視圖,以便它不會在視圖中呈現整個html並隱藏它。
因此,你想只渲染可見的div,或者修復你的javascript,以便在選擇更改值時顯示/隱藏正確的div。 –
似乎有JavaScript代碼丟失。你說它從view2或view3調用javascript代碼(我認爲你的意思是部分),但你沒有顯示代碼。 –
我想加載唯一可見div的javascript函數 – user1774777