如何自动刷新部分视图?
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);
如何自动刷新此部分视图
答案 0 :(得分:0)
Html.Action(“Messages”,“Chat”,new {people =“给出一些数据”})
答案 1 :(得分:0)
要快速测试,请将Chat
的控制器操作从POST
更改为GET
。然后通过粘贴浏览器地址栏中的地址来调用它。您可以在网址末尾包含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