2016-09-14 122 views
0

我有我加载在使用局部视图:自动刷新局部视图使用jQuery

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

这最终加载名为_NewFaults.cshtml的局部视图,我想刷新每10秒(例如)以定期显示出现任何新的错误。我一直在网上寻找如何做这件事一段时间,但我发现的所有例子都非常具体到他们的例子,并不明显如何适应它们。

有人可以帮助我吗?

+0

[jQuery.load()](http://api.jquery.com/load/)和[JavaScript的定时器(https://developer.mozilla.org/en- US/Add-ons/Code_snippets/Timers) –

+0

在JQuery上使用'setInterval()'函数。 –

回答

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(); 
} 
+0

感谢您的帮助。我应用了上面的代码,仍然有问题。后来我发现控制器的行为被定义为仅限于儿童行动,这是停止呼叫。删除它使其工作。 –

0

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