gpt4 book ai didi

javascript - 如何在 ASP.NET 应用程序的折叠 div 中加载部分 View ?

转载 作者:行者123 更新时间:2023-12-01 00:32:21 26 4
gpt4 key购买 nike

目前,我的页面正在加载:

    <div class="accordion">
<h2><a href="#">Pending Flyers</a></h2>
<div id="flyers-0" class="accordion-item"><% Html.RenderPartial("ManageFlyers", new { flyers = pendingFlyersWithCategory }); %></div>
<h2><a href="#">Approved Flyers</a></h2>
<div id="flyers-1" class="accordion-item"><% Html.RenderPartial("ManageFlyers", new { flyers = approvedFlyersWithCategory }); %></div>
<h2><a href="#">Denied Flyers</a></h2>
<div id="flyers-2" class="accordion-item"><% Html.RenderPartial("ManageFlyers", new { flyers = deniedFlyersWithCategory }); %></div>
<h2><a href="#">Published Flyers</a></h2>
<div id="flyers-3" class="accordion-item"><% Html.RenderPartial("ManageFlyers", new { flyers = publishedFlyersWithCategory }); %></div>
<h2><a href="#">Expired Flyers</a></h2>
<div id="flyers-4" class="accordion-item"><% Html.RenderPartial("ManageFlyers", new { flyers = expiredFlyersWithCategory }); %></div>
</div>

用这个java脚本来做 Accordion 的事情:

<script language="javascript" type="text/javascript">
if ($('.accordion').length > 0) {
$('.accordion-item').hide();
$('.accordion-selected').show();

$('.accordion h2').click(function () {
$(this).next('.accordion-item').slideToggle('slow');
});

$('.accordion h2 a').click(function () {
var element = $(this).parent().next('.accordion-item');
element.slideToggle('slow');
return false;
});
}
</script>
<script type="text/javascript">
$(document).ready(function () {

// Accordian state restore
var accord = '<%= Session["accordianIndex"] %>';
var currentindex = 0;

if (accord != "") {
currentindex = accord;
}

$("#flyers-" + currentindex).slideToggle("slow");
// end Accordian state restore
});

$("div.description").expander({
slicePoint: 200
});
</script>

我想将其设置为使用 AJAX 加载部分 View ,并在展开 Accordion 的该部分时插入它们,以加快页面的初始加载速度。

我已经尝试过 <%= Ajax.ActionLink ... %>和 javascript 来加载它,但我无法让它工作。如有任何建议,我们将不胜感激。

最佳答案

如果您为这些部分设置 Controller 操作 (PartialViewResult),您可以使用 jQuery $.ajax 调用加载它们。你会写类似的东西

$.ajax({ url: /controller/Action, data: {stuff} }); 

这种方法可以让您抵消加载时间,就像您在切换 Accordion 时在点击方法或其他事件中描述的那样。

更新:

如果您已经拥有此页面的本地数据,我建议您执行类似 Handlebars 的操作模板,只需 $("div").append() 将数据添加到您所在的页面,其中 div 是您想要包含数据的选择器。

关于javascript - 如何在 ASP.NET 应用程序的折叠 div 中加载部分 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10555451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com