Ajax &引用;“更新面板”;在Razor中(MVC3)
Razor是否有类似UpdatePanel(在ASPX中)的东西 我想每隔30秒自动刷新数据(如表格、图表等)。 类似于每30秒单击以下链接:Ajax &引用;“更新面板”;在Razor中(MVC3),ajax,asp.net-mvc-3,razor,Ajax,Asp.net Mvc 3,Razor,Razor是否有类似UpdatePanel(在ASPX中)的东西 我想每隔30秒自动刷新数据(如表格、图表等)。 类似于每30秒单击以下链接: @Ajax.ActionLink("Refresh", "RefreshItems", new AjaxOptions() { UpdateTargetId = "ItemList", HttpMethod = "Post"}) 编辑: 我可以补充一点,动作链接呈现的是局部视图 cshtml中的代码: <div id="It
@Ajax.ActionLink("Refresh", "RefreshItems", new AjaxOptions() {
UpdateTargetId = "ItemList",
HttpMethod = "Post"})
编辑:
我可以补充一点,动作链接呈现的是局部视图
cshtml中的代码:
<div id="ItemList">
@Html.Partial("_ItemList", Model)
</div>
如果PartielView能够自我刷新,它将被创建。传统控件在ASP MVC中不起作用 您可以使用Jquery定时器来完成 其他选项可以是使用该函数 在您的目标中,刷新整个页面非常简单,因此此链接将是您感兴趣的:
希望对您有所帮助。您可以使用Jquery尝试类似以下内容(但尚未测试)
另一种选择是将javascript存储在一个单独的
js
文件中,并在ajax成功回调中使用该函数。如果您不需要ajax体验,请使用HTML标记:
<meta http-equiv=”refresh” content=”30; URL=http://www.programmingfacts.com”>
转到此处:如果有人想要获得自我更新部分视图的完整代码,请查看 控制器的代码:
[HttpPost]
public ActionResult RefreshItems() {
try {
// Fill List/Model
...
// Return Partial
return PartialView("_ItemList", model);
}
catch (Exception ex) {
return RedirectToAction("Index");
}
}
[HttpPost]
public ActionResult RefreshSelfUpdatingPartial() {
// Setting the Models Content
// ...
return PartialView("_SelfUpdatingPartial", model);
}
分部代码(_selfupdateingpartial.cshtml):
HTML中的
标记适用于您。这是最好的选择如果我不需要Ajax体验,为什么要使用UpdatePanel?当然。您可以在局部视图中使用此技术。什么是\u FlatschelOverview
?和Aktualisieren
-RefreshFlatschels
FlatschelList
?使用$('selfupdateingpartialdiv').html(数据)代码>每次单击都会丢失要刷新的代码链接:@Ajax.ActionLink(“Aktualisieren”、“RefreshFlatschels”
<meta http-equiv=”refresh” content=”30; URL=http://www.programmingfacts.com”>
[HttpPost]
public ActionResult RefreshSelfUpdatingPartial() {
// Setting the Models Content
// ...
return PartialView("_SelfUpdatingPartial", model);
}
@model YourModelClass
<script type="text/javascript">
setInterval(function () {
$.post('@Url.Action("RefreshSelfUpdatingPartial")', function (data) {
$('#SelfUpdatingPartialDiv').html(data);
}
);
}, 20000);
</script>
// Div
<div id="SelfUpdatingPartialDiv">
// Link to Refresh per Click
<p>
@Ajax.ActionLink("Aktualisieren", "RefreshFlatschels", new AjaxOptions() {
UpdateTargetId = "FlatschelList",
HttpMethod = "Post", InsertionMode = InsertionMode.Replace
})
</p>
// Your Code
// ...
</div>
@Html.Partial("_FlatschelOverview", Model)