【问题标题】:MVC(3) handleUpdateMVC(3) 句柄更新
【发布时间】:2014-01-22 16:47:30
【问题描述】:

我正在浏览 this tutorial on codeplex,这是 MusicStore 应用程序。

在一个场景中,它将音乐记录添加到购物篮中。然后它还允许用户删除它。据我了解,它是通过在 Controller 中实现的 Ajax 回发来实现的。

让我感到困惑的是,在同一页面上声明了一个名为“handleUpdate()”的 JavaScript 函数的引用。例如,从购物篮中删除商品后,它似乎会更新购物篮。我看不到它在任何地方被调用。谁能解释一下它是如何以及何时调用的?

【问题讨论】:

  • 我问这个问题的原因是因为我怀疑MVC提供了一些内置事件声明(在这种情况下是它的handleUpdate)?还是我们在其他地方声明它,在这种情况下,由于某种原因我无法找到它。谢谢

标签: asp.net-mvc-3


【解决方案1】:

代码中没有引用,教程中提到了。对我来说似乎是剩菜。

引用http://www.asp.net/mvc/tutorials/mvc-music-store-part-8:

...而不是使用 Html.ActionLink 要从购物车中删除商品,我们将 使用 Ajax.ActionLink:

@Ajax.ActionLink("Remove from cart", "RemoveFromCart", 
new { id = item.RecordId }, new AjaxOptions { OnSuccess = "handleUpdate" })

此方法的工作原理与 Html.ActionLink 辅助方法,但是 而不是发布它只是 给我们的 AJAX 回调 从购物车中删除。 RemoveFromCart 返回 JSON 序列化结果, 它会自动传递给 我们指定的 JavaScript 方法 AjaxOptions OnSuccess 参数 – 在这种情况下处理更新。这 handleUpdate Javascript 函数 解析 JSON 结果并执行 使用四个快速更新页面 jQuery:

  1. 从列表中删除已删除的相册
  2. 更新标题中的购物车计数
  3. 向用户显示更新消息
  4. 更新购物车总价

【讨论】:

    【解决方案2】:

    没用过,是 MVC 2 遗留下来的。见http://mvcmusicstore.codeplex.com/discussions/263226

    【讨论】:

      猜你喜欢
      • 2021-06-17
      • 1970-01-01
      • 2014-01-03
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      • 2023-03-28
      • 2021-06-03
      相关资源
      最近更新 更多