我需要定期刷新.Net的局部视图。它与Ajax.ActionLink一起工作,是否有类似的定期刷新功能?我可以在不使用jQuery的情况下完成吗?
发布于 2011-07-28 23:05:35
Zen,你可以通过这样的代码来实现:
function loadPartialView() {
$.ajax({
url: "@Url.Action("ActionName", "ControllerName")",
type: 'GET', // <-- make a async request by GET
dataType: 'html', // <-- to expect an html response
success: function(result) {
$('#YourDiv').html(result);
}
});
}
$(function() {
loadPartialView(); // first time
// re-call the function each 5 seconds
window.setInterval("loadPartialView()", 5000);
});请记住,您的操作应该返回一个PartialView。我希望它能帮助你!
发布于 2011-07-28 23:06:14
也许this能帮到你。您使用的是哪个版本的MVC?您可以为辅助方法设置指定的时间间隔。这是我见过的唯一不使用js的方法。
发布于 2014-02-21 18:43:25
尝尝这个。
$(document).ready(function () {
var url = "@(Html.Raw(Url.Action("ActionName", "ControllerName")))";
$("#PartialViewDivId").load(url);
setInterval(function () {
var url = "@(Html.Raw(Url.Action("ActionName", "ControllerName")))";
$("#PartialViewDivId").load(url);
}, 30000); //Refreshes every 30 seconds
$.ajaxSetup({ cache: false }); //Turn off caching
});它进行初始调用以加载div,然后以30秒为间隔进行后续调用。
在控制器部分中,您可以更新对象并将对象传递给局部视图。
public class ControllerName: Controller
{
public ActionResult ActionName()
{
.
. // code for update object
.
return PartialView("PartialViewName", updatedObject);
}
}https://stackoverflow.com/questions/6861063
复制相似问题