gpt4 book ai didi

c# - Asp.net mvc3 定期刷新结果而不重新加载页面

转载 作者:行者123 更新时间:2023-11-30 20:08:40 25 4
gpt4 key购买 nike

我正在为一个使用 foreach 在 View 中显示查询结果(在 Controller 中管理)的网站使用 asp.net MVC3。

我现在想做的是每次自动刷新查询的输出,而不刷新页面。

我如何使用 ajax 做到这一点?

这是 View 的代码:

@{
string firstTime = "";
}
@foreach( var database in Model)
{

if (!(firstTime == database.DB))
{
<h3> @database.DB </h3>
}

<div class="logContainer" onclick="location.href='/logs/Details?databaseID=@database.DB&exceptionName=@database.Exception&exceptionsOccurred=@database.Count';">
<div class="counter"><b>@database.Count</b></div>
<div class="exceptionName"> Exceptions of Type: @database.Exception</div>
<div class="date">Siste: @database.LastOccurred</div>
</div>
<hr />

firstTime = database.DB;
}

最佳答案

您可以使用 window.setInterval javascript方法定时向服务器发送AJAX请求并刷新相应的DOM部分。例如,如果您想每 10 秒刷新一次内容:

window.setInterval(function() {
$.post('@Url.Action("someaction", "somecontroller")', function(result) {
$('#results').html(result);
});
}, 10 * 1000);

这将向 Controller 操作发送 AJAX 请求, Controller 操作又可以返回包含更新结果的部分 View :

pubilc ActionResult SomeAction()
{
SomeViewModel model = ...
return PartialView(model);
}

然后,这个部分 View 的结果将被注入(inject)到一些具有 id="results" 的 DOM 元素中。

关于c# - Asp.net mvc3 定期刷新结果而不重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6858863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com