【问题标题】:fire javascript function after partial view is rendered in C# MVC在 C# MVC 中呈现部分视图后触发 javascript 函数
【发布时间】:2013-11-19 14:02:01
【问题描述】:

我有一个 MVC 视图,在客户端单击按钮后会呈现部分视图。

我想在局部视图完全渲染后使用:window.scrollTo(0, document.body.scrollHeight);,这样客户端会“跳转”到点击的结果。

问题是:它在部分视图渲染之前触发,并在页面高度扩展之前进入屏幕底部...

如何强制它等到部分视图完全呈现?

谢谢!

【问题讨论】:

  • 你是通过 ajax 加载局部视图吗?
  • 是的:$('#___').load('/Home/___?departmentId=' + departmentId);
  • 我很好奇在局部视图中直接添加window.scrollTo(0, document.body.scrollHeight);是否会有所帮助。
  • @Matt 我正在寻找一种“更清洁”的方式,然后使用延迟或 setTimeoUt。谢谢。

标签: c# javascript jquery asp.net-mvc-4


【解决方案1】:

如果你使用 $().load,你可以在加载完成后使用回调来做任何你想做的事情。

$('#___').load('/Home/___?departmentId=' + departmentId, function() {
  alert( "Load was performed." );
});

【讨论】:

    【解决方案2】:

    简单地放置

       <script type="text/javascript">
        function ScrollTobottam() {
            window.scrollTo(0, document.body.scrollHeight);
        }
    </script>
    

    在局部视图的底部,只有在局部视图完全加载后才会加载

    【讨论】:

    • 通过局部视图将javascript注入页面只是糟糕的设计。这与 ASP.NET 中的 UpdatePanel 是/现在是一样的废话......
    猜你喜欢
    • 2013-01-06
    • 2016-06-22
    • 2013-06-17
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2011-05-08
    • 2012-04-13
    • 1970-01-01
    相关资源
    最近更新 更多