首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定期刷新部分视图( ASP.Net MVC)

定期刷新部分视图( ASP.Net MVC)
EN

Stack Overflow用户
提问于 2011-07-28 22:55:35
回答 3查看 9.9K关注 0票数 7

我需要定期刷新.Net的局部视图。它与Ajax.ActionLink一起工作,是否有类似的定期刷新功能?我可以在不使用jQuery的情况下完成吗?

EN

回答 3

Stack Overflow用户

发布于 2011-07-28 23:05:35

Zen,你可以通过这样的代码来实现:

代码语言:javascript
复制
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。我希望它能帮助你!

票数 12
EN

Stack Overflow用户

发布于 2011-07-28 23:06:14

也许this能帮到你。您使用的是哪个版本的MVC?您可以为辅助方法设置指定的时间间隔。这是我见过的唯一不使用js的方法。

票数 2
EN

Stack Overflow用户

发布于 2014-02-21 18:43:25

尝尝这个。

代码语言:javascript
复制
 $(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秒为间隔进行后续调用。

在控制器部分中,您可以更新对象并将对象传递给局部视图。

代码语言:javascript
复制
public class ControllerName: Controller
{
    public ActionResult ActionName()
    {
        .
        .   // code for update object
        .
        return PartialView("PartialViewName", updatedObject);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6861063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档