我需要定期刷新.Net的部分视图。它可以通过Ajax.ActionLink工作,是否有类似的定期刷新功能?我是否可以不使用jQuery来完成它?
我需要定期刷新.Net的部分视图。它可以通过Ajax.ActionLink工作,是否有类似的定期刷新功能?我是否可以不使用jQuery来完成它?
你可以通过以下代码来实现:
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);
});
记得你的Action应该返回一个PartialView。 希望这能帮到你!
试试这个。
$(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);
}
}