1
我正在使用kendo面板栏。 我从部分视图加载面板栏中每个项目的dynemic内容。如何在每次展开面板栏项目时重新加载面板栏项目的内容?
需要什么是我需要重新加载每个项目被选中时的面板栏项目的内容。
当我第一次选择面板栏中的项目时,它向服务器发出ajax请求并填充项目中的内容。但是当我第二次选择它时,它不会向服务器发出请求。它显示当我第一次点击项目时从服务器获取的旧数据。
有什么办法可以重新加载每个项目展开的面板条项目内容?我怎样才能做到这一点?
@(Html.Kendo().PanelBar()
.Name("QuickViewP")
.ExpandMode(PanelBarExpandMode.Single)
.HtmlAttributes(new { style = "width:100%" })
.Items(panelbar =>
{
panelbar.Add()
.Text("Account Summary")
.Expanded(true)
.ImageUrl(Url.Content("~/Content/Images/account-summary.png"))
.LoadContentFrom("AccountSummary", "QuickView");
panelbar.Add()
.Text("Messages & Notifications")
.ImageUrl(Url.Content("~/Content/Images/messages.png"))
.LoadContentFrom("MessagesNotifications", "QuickView");
panelbar.Add().Text("Investment Elections")
.ImageUrl(Url.Content("~/Content/Images/investment.png"))
.LoadContentFrom("InvestmentElections", "QuickView");
}).Events(events => events.Expand("QuickViewPExpand"))
我已添加这样的事件。 我每次展开面板项目都能获得新内容 但我有一个问题。当我第一次点击面板项时,它会向服务器发送2获取ajax请求 。之后,每当我点击面板项目它正常工作。它发送一个Ajax请求并填充新的内容。
当第一次点击面板项目时,我应该怎么做才能发送一个请求?
这是我正在使用的脚本。
<script>
function QuickViewPExpand(e) {
debugger;
var panelBar = $("#QuickViewP").data("kendoPanelBar");
var item = panelBar.select();
//if (item.hasClass("k-state-active")) {
// panelBar.collapse(item);
//} else {
// panelBar.expand(item);
//}
// reload the panel bar
// This reloads all items in panel bar i just need to only reload the panelItem
// which is clicked
//panelBar.reload("> .k-item");
// I am uisng this to reload item which is clicked
panelBar.reload(item[0]);
}
</script>
谢谢你。我从这个脚本得到了一些结果。但我有一个问题,你可以请看到我编辑了内容的帖子,并添加了我使用的脚本。你可以告诉我,我该怎么办? –