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

发布于 2024-10-10 01:17:52 字数 337 浏览 2 评论 0原文

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

我尝试了以下方法,但似乎每隔几秒(而不是 10 秒)就会触发该方法,并且在浏览器中我根本看不到任何显示。

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

京东

I have a view called DataProgress and when it is shown in my browser, I want it to re-fire the same action that produced it every 10 seconds. My action is DataProgress in the controller MyController.

I tried the following, but it seems to fire the method ever few seconds (not 10 seconds) and in the browser I do not see anything shown at all.

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

JD

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猫烠⑼条掵仅有一顆心 2024-10-17 01:17:52

<% Html.Action("DataProgress");%>除了在执行视图时渲染一次操作并将结果插入到放置操作命令的位置之外,什么也不做。

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

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

<% Html.Action("DataProgress");%> does nothing but to render the action ONCE when the view is executed and to insert the result into the place where you placed the Action command.

In other words: Html.Action is a server-side command, it cannot be called by javascript code.

What you need to do is to use $.ajax() or similar jQuery methods (load and getJson might also work depending on your needs) and update your page accordingly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文