【问题标题】:Auto-refresh partial view with JQuery使用 JQuery 自动刷新部分视图
【发布时间】:2016-09-14 09:13:09
【问题描述】:

我有一个正在加载的部分视图:

<div class="row">
    <div class="col-xs-12">
        @Html.Action("NewFaults", "Fault")
    </div>
</div>

这最终会加载一个名为 _NewFaults.cshtml 的局部视图,我想每 10 秒刷新一次(例如)以定期显示出现的任何新故障。我一直在网上寻找如何做到这一点,但我发现的所有示例都非常针对他们的示例,如何调整它们并不明显。

有人可以帮我吗?

【问题讨论】:

标签: jquery asp.net-mvc partial-views


【解决方案1】:

根据评论,使用 javascript 计时器

var timer = setInterval(YourFunction, 10000);

YourFunction 对控制器进行 AJAX 调用以获取局部视图。

$.ajax({
    url: "@Url.Action("Action","Controller")",
    type: 'POST',
    dataType: 'html',        
    cache: false,
    success: function (html) {
        //show it on page
    }
});

这样的方法

public PartialView Action()
{
    return PartialView();
}

【讨论】:

  • 感谢您的帮助。我应用了上面的代码,但仍然有问题。后来我发现控制器操作仅定义为子操作,它正在停止调用。删除它使其工作。
【解决方案2】:

使用setInterval() 函数。

 function myFunction() {
     setInterval(function(){ window.location.href='redirectURL.php' }, 10000); //Referesh particular page
//OR       
     setInterval(function(){ window.location.reload() }, 10000); //Referesh curent page    
    }

http://www.w3schools.com/jsref/met_win_setinterval.asp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 2013-04-07
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 2012-08-22
    相关资源
    最近更新 更多