繁体   English   中英

如何自动刷新局部视图?

[英]How to auto refresh a partial view?

如何自动刷新局部视图?

public PartialViewResult Chat(string people)
    {
        if (User.Identity.IsAuthenticated)
        {
            var model = new MessageVM()
            {                          
                realReceiver = people,              
                messageList = db.messages.Where(x => x.sender == User.Identity.Name || x.sender == people).ToList().Take(30)
            };
            return PartialView("_Chat", model);

如何自动刷新此局部视图

Html.Action(“ Messages”,“ Chat”,new {people =“ give some data”})

为了快速测试,请将您对Chat的控制器操作从POST更改为GET 然后通过将地址粘贴到浏览器地址栏中进行调用。 您可以在URL的末尾包含people参数的值:

?people=valueForPeople

检查返回的HTML,并确保这是您所期望的。 确认操作返回了所需的HTML后,您可以根据需要将其改回POST 然后使用下面的jQuery代码。

一种选择是在客户端设置一个计时器,该计时器将调用您的控制器,然后您可以对返回的数据进行任何所需的操作。

window.setInterval(function() {

    // send get request to server
    $.ajax({
    url: '/Chat',
    type: "POST", // or use GET
    data: whateverYourArgumentsAre, // people
    success: function (partialViewHtml) {
        $("#divLt").html(partialViewHtml);
        });
    },
    error: function () {
        alert('Something went wrong');
    }

});
}, 5000); // Every 5 seconds, 5000 ms

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM