【问题标题】:Performance issue with partial views部分视图的性能问题
【发布时间】:2014-11-13 20:17:07
【问题描述】:

我有很多东西的视图,其中包括:

@Html.Partial("AddWindow")
@Html.Partial("EditWindow")

每个部分视图都包含一个Kendo Window,其内容是通过 Ajax 加载的。

每个部分中的 Kendo Windows 都是通过一个按钮调用打开的,但实际发生的情况是它们在页面被访问时立即加载。我只是希望它们在我单击这些按钮时加载。

没有这两行代码,CSS 动画在整个页面中都是流畅的。现在,每次加载 Ajax 时,它们都会中断一秒钟(我尝试删除其中一个部分,但只显示一个中断,没有部分意味着根本没有中断)。当窗口实际打开时,这些中断是不可见的,但是当进入页面时,CSS 动画会中断两次,每次 Ajax 加载一次。之后,一切都很好。

function openAdd() {
    $("#addWindow").data("kendoWindow").center().open();
}

我在想上面的函数里面应该有一些东西,不仅可以打开剑道窗口,还可以将部分加载到视图中。

有什么帮助吗?

【问题讨论】:

  • 把你的一个视图的代码,以便为你修改它

标签: asp.net-mvc kendo-ui partial-views


【解决方案1】:

你可以做什么

@(Html.Kendo().Window().Name("addWindow")
    .Visible(false)
    .Modal(true)
    .Draggable(true)
    .Width(450)
    .Height(400)
)


<script type="text/javascript">
 function openAdd() {
    var window = $("#addWindow").getKendoWindow();
    window.refresh({
         url: '@Url.Action("Action", "Controller")',
    });
    window.title('Title');
    window.center().open();
}
</script>

希望对你有帮助

【讨论】:

  • 谢谢,我会尽快尝试并回复您。顺便说一句,'@Url.Action("Action", "Controller")' 后面的代码中多了一个逗号:删除它
  • 如果您需要有关如何将 id 传递到编辑窗口的帮助,请继续询问
  • 不需要。这不起作用,因为它在刷新线上中断:窗口还不存在,它只存在于部分视图中,最初没有加载
  • 把窗口放到局部视图之外,可以被不同的视图访问(添加,编辑)
  • 是的,我确信这会起作用,但我想将窗口放在局部视图中以便重用它。这样,我必须将窗口放在每个视图中,而不是简单的 Partial 调用。你知道怎么做吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-22
相关资源
最近更新 更多