我已经在成功调用服务器端方法并返回Json的MVC应用程序中创建了一个ActionLink。AjaxContent javascript参数不包含函数get_data()
我的问题是,在OnSuccess JavaScript函数接收到的AjaxContext参数不包含.get_data()函数。也没有在this SO article中指定的任何其他功能。
上下文对象只返回在服务器端方法中构造的数据。
@Ajax.ActionLink("Remove from cart", "RemoveFromCart/" + @item.Id, new AjaxOptions() { OnSuccess = "handleUpdate", HttpMethod="POST" })
[HttpPost]
public ActionResult RemoveFromCart(int id)
{
ShoppingBasket basket = ShoppingBasket.GetShoppingBasket(this.HttpContext);
basket.Items.Remove(basket.Items.Find(i => i.Id == id));
ShoppingCartRemoveViewModel results = new ShoppingCartRemoveViewModel
{
DeleteId = id,
Message = id + " has been removed."
};
return Json(results);
}
<script type="text/javascript">
function handleUpdate(context) {
alert('deleted ' + context.DeleteId);
context.get_data(); <-- ERROR
}
</script>
虽然在返回数据上调用Json(),但上下文似乎不是AjaxContext对象。有任何想法吗?
感谢