我是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