MVC(3)handleUpdate

dae*_*aai 5 asp.net-mvc-3

我正在阅读关于codeplex的这个教程,它是MusicStore应用程序.

在Senario中,它将音乐记录添加到购物篮中.然后它还允许用户删除它.根据我的理解,它是通过在Controller中实现的Ajax回发来实现的.

令我困惑的是,有一个名为"handleUpdate()"的JavaScript函数的引用,它在同一页面上声明.它似乎更新了购物篮后,例如一个项目已从篮子中删除.我无法看到它从任何地方被召唤.任何人都可以解释它是如何以及何时被调用的?

Dan*_*zzi 4

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

\n\n

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

\n\n
\n

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

\n\n
@Ajax.ActionLink("Remove from cart", "RemoveFromCart", \nnew { id = item.RecordId }, new AjaxOptions { OnSuccess = "handleUpdate" })\n
Run Code Online (Sandbox Code Playgroud)\n\n

此方法的工作方式与 Html.ActionLink 帮助器方法非常相似,但它不是发布表单,而是对我们的RemoveFromCart 进行 AJAX 回调。在本例中,RemoveFromCart\n 返回一个 JSON 序列化结果,\n 该结果会自动传递到\n AjaxOptions OnSuccess 参数\xe2\x80\x93\n handleUpdate 中指定的\n JavaScript 方法。\n handleUpdate Javascript 函数\n 解析 JSON 结果并使用\n jQuery 对页面执行\n 四次快速更新:

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