我正在使用带有razor引擎的Nancy
,我想执行一个每秒更新页面部分的函数。我已经完成的工作是创建了一个名为_partial.cshtml
代码:
<p>@System.DateTime.Now</p>
在我的主视图中,我设置了一个间隔来记录每秒的部分视图的值
代码:
setInterval(function() {
console.log(@Html.Partial("../_partial.cshtml", null));
}, 1000);
然而,每次渲染相同的值,因为它在客户端(在这种情况下为chrome)被解释为静态valye而不再是动态...所以我怎么能绕过它呢?
答案 0 :(得分:0)
您需要编写一个从服务器返回局部视图的操作。在Javascript代码中,您必须编写一个AJAX GET / POST请求,该请求应放在setInterval()块中。如果它是普通的Asp.net MVC,我会这样做。对于南希来说,它应该没什么不同。
// Controller Action Method, assuming name of controller as DataController
public ActionResult RealTimeData()
{
return PartialView("_partial");
}
// Javascript Code
setInterval(function(){
$.get('@Url.Action("RealTimeData", "Data")', null, function(data, status, xhr){
// Update the UI.
}).fail(function(x, status, err){
// Handle errors
});
},1000);
希望这有帮助。