Javascript 当mvc引导选项卡内容中的选项卡处于活动状态时动态加载内容
我正在使用bootstrap和ASP.NET mvc创建一个web应用程序。我在每个选项卡上使用部分视图,但是现在所有数据都同时进入。我想只在选项卡处于活动状态时调用我的partial查询并返回数据。我该怎么做Javascript 当mvc引导选项卡内容中的选项卡处于活动状态时动态加载内容,javascript,asp.net-mvc,twitter-bootstrap,asp.net-mvc-4,Javascript,Asp.net Mvc,Twitter Bootstrap,Asp.net Mvc 4,我正在使用bootstrap和ASP.NET mvc创建一个web应用程序。我在每个选项卡上使用部分视图,但是现在所有数据都同时进入。我想只在选项卡处于活动状态时调用我的partial查询并返回数据。我该怎么做 <div> <ul class="nav nav-tabs nav-justified"> <li class="active"><a href="#tab1" data-toggle="tab">Service&l
<div>
<ul class="nav nav-tabs nav-justified">
<li class="active"><a href="#tab1" data-toggle="tab">Service</a></li>
<li><a href="#tab2" data-toggle="tab">Instrument</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane fade in active" id="tab1">
@Html.Action("Index", "Controller1")
</div>
<div class="tab-pane fade" id="tab2">
@Html.Action("Index", "Controller2")
</div>
</div>
</div>
@动作(“索引”、“控制器1”)
@动作(“索引”、“控制器2”)
试试这段代码
<div>
<ul class="nav nav-tabs nav-justified">
<li class="active"><a href="#tab1" id="openTab1" data-toggle="tab">Service</a></li>
<li><a href="#tab2" id="openTab2" data-toggle="tab">Instrument</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane fade in active" id="tab1">
@Html.Action("Index", "Controller1")
</div>
<div class="tab-pane fade" id="tab2">
@Html.Action("Index", "Controller2")
</div>
</div>
</div>
<script>
$("#openTab1").on("click", function() {
$("#tab1").load('/Controller1/Index');
});
$("#openTab2").on("click", function() {
$("#tab2").load('/Controller2/Index');
});
</script>
@动作(“索引”、“控制器1”)
@动作(“索引”、“控制器2”)
$(#openTab1”)。在(“单击”,函数()上{
$(“#tab1”).load('/Controller1/Index');
});
$(#openTab2”)。在(“单击”,函数()上{
$(“#tab2”).load('/Controller2/Index');
});
Javascript魔术
ASP.net本身并不具备该功能。我将使用的方法是在控制器中设置一个url,返回部分视图
,然后向该url发出ajax请求,将其内容加载到您的网页中。我描述的方法可以看作是一个例子
tdlr;
在您的控制器中创建一个局部视图,并使用ajax加载它。您需要在选项卡上放置一个onClick事件,下面这样的事情应该适合您
<ul class="nav nav-tabs nav-justified">
<li class="active" data-ref="1"><a href="#tab1" data-toggle="tab">Service</a></li>
<li data-ref="2"><a href="#tab2" data-toggle="tab">Instrument</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane fade in active" id="tab1">
<div id="tabone"></div>
</div>
$(".nav-tabs li").click(function(){
var pageId = $(this).data('ref');
$.ajax({
url: url,
data: {pageId:pageId },
success: function(response){
if(pageId == 1)
{
$('#tab1').replaceWith(response);
}
else....
}
});
});
$(“.nav选项卡li”)。单击(函数(){
var pageId=$(this.data('ref');
$.ajax({
url:url,
数据:{pageId:pageId},
成功:功能(响应){
如果(pageId==1)
{
$('tab1')。替换为(响应);
}
其他的
}
});
});