当前位置: 首页 > 面试题库 >

Razor(mvc 3)中的“ UpdatePanel”

微生欣怡
2023-03-14
问题内容

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

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

 @Ajax.ActionLink("Refresh", "RefreshItems", new AjaxOptions() {
     UpdateTargetId = "ItemList",
     HttpMethod = "Post"})

编辑:

我可能应该补充说,动作链接呈现了部分视图。

cshtml中的代码:

<div id="ItemList">
  @Html.Partial("_ItemList", Model)
</div>

控制器中的代码

    [HttpPost]
    public ActionResult RefreshItems() {
        try {
            // Fill List/Model
            ...

            // Return Partial
            return PartialView("_ItemList", model);
        }
        catch (Exception ex) {

            return RedirectToAction("Index");
        }
    }

如果PartielView可以刷新自身,它将被创建。


问题答案:

您可以使用Jquery尝试类似以下的操作(虽然尚未测试)

<script type="text/javascript">
   $(document).ready(function() {
        setInterval(function()
        {
         // not sure what the controller name is
          $.post('<%= Url.Action("Refresh", "RefreshItems") %>', function(data) {
           // Update the ItemList html element
           $('#ItemList').html(data);
          });
        }
        , 30000);
   });
</script>

上面的代码应放置在包含页面(即不是局部视图页面)中。请记住,局部视图不是完整的html页面。

我最初的猜测是可以将该脚本放置在局部脚本中,并进行如下修改。确保将ajax数据类型设置为html

<script type="text/javascript">
    setInterval(function()
    {
      // not sure what the controller name is
      $.post('<%= Url.Action("Refresh", "RefreshItems") %>', function(data) {
        // Update the ItemList html element
        $('#ItemList').html(data);
      });
    }
    , 30000);
</script>

另一种选择是将javascript存储在单独的js文件中,并在ajax成功回调中使用Jquery
getScript
函数。



 类似资料:
  • 问题内容: 我使用MVC3 Helper生成我的Ajax表单,如下所示: 我只是找不到在复选框的change事件上提交表单的正确方法。我不希望我的用户单击提交按钮。 HTMLAttribute有效,但是在更改时发生回发而不是ajax请求。 有人知道答案吗? 问题答案: 首先,在表单内创建一个提交按钮,然后通过设置属性将其隐藏。然后,而不是在onchange事件中使用,请使用以下命令: 这将调用jq

  • 问题内容: 变量strCSSClass通常具有一个值,但有时为空。 我不想在此输入元素的HTML中包含空的class =“”,这意味着如果strCSSClass为空,我根本就不需要class =属性。 以下是执行条件HTML属性的一种方法: 有没有更优雅的方式做到这一点?具体来说,我可以遵循与元素其他部分中使用的相同的语法:class =“ @ strCSSClass”? 问题答案: 您没有从Ra

  • Razor 是一个轻巧而优雅的servlet mvc框架 # 又一个轮子? no,写就她是为了证实我个人的某些想法,并在这个过程中练练手,这两种冲动碰撞在一起,自然而然地产生了Razor # Razor的现在和未来? 作为一个mvc框架,最最核心的功能已经完成了九成,总体的设计方案基本上已经稳定下来。 未来我还会不断完善Razor,加入更多的功能和想法,我也可能修正现有的设计,从而使她变得完全不同

  • Cobub Razor 是一个免费且开源的工具软件,可以让你随时监控你的移动应用数据。 简单的说,Cobub Razor是开源的私有版友盟。 Cobub Razor是功能强大的开源移动分析系统。通过提供有关移动应用程序用户的详细的多维报告,它使用户可以监视其移动应用程序的统计信息和应用程序用户的行为。目前,它支持iOS,Android和Windows Phone OS平台。 Cobub Razor

  • Razor-qt 并非一个完整的、可以和KDE或GNOME相提并论的桌面环境;最重要的是,它假设已经有了一个窗口管理器,需要与之合作方可完成任务。Razor-qt 开发者们比较偏好Openbox这一窗口管理器,不过任何其他窗口管理器,从Kwin到fvwn,都是是可以的。其他方面,Razor-qt 包含一系列模块,你可以混合搭配它们,以满足你的需求。 “Razor-qt 是一个高级、易用而且快速的基

  • 我在剃刀页面中得到以下错误。 所以我改了。 现在代码将运行,但我得到警告。 下面是我完整的部分。