使用MVC 2我想每10秒触发一次动作

时间:2010-12-31 16:26:36

标签: asp.net-mvc asp.net-mvc-2

我有一个名为DataProgress的视图,当它在我的浏览器中显示时,我希望它每10秒重新触发产生它的相同动作。我的动作是控制器MyController中的DataProgress。

我尝试了以下方法,但它似乎只用了几秒钟(不是10秒)来触发该方法,而在浏览器中我根本看不到任何显示内容。

<script>
  $(document).everyTime(10000, function () {
    <% Html.Action("DataProgress");%>;
  }, 100);
</script>

JD

1 个答案:

答案 0 :(得分:3)

&lt;%Html.Action(“DataProgress”);%&gt;除了在执行视图时呈现操作ONCE并将结果插入放置Action命令的位置之外什么都不做。

换句话说:Html.Action是一个服务器端命令,它不能被javascript代码调用。

您需要做的是使用$.ajax()或类似的jQuery方法(load和getJson也可能根据您的需要工作)并相应地更新您的页面。