Ajax &引用;“更新面板”;在Razor中(MVC3)

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

Razor是否有类似UpdatePanel(在ASPX中)的东西

我想每隔30秒自动刷新数据(如表格、图表等)。 类似于每30秒单击以下链接:

 @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)