[英]How to make an Ajax Post Back with ASP.net MVC
我對MVC非常陌生。 因此,一直在研究CodePlex中MusicStore Application的代碼。
我無法理解以下代碼的含義:
// AJAX: /ShoppingCart/RemoveFromCart/5
[HttpPost]
public ActionResult RemoveFromCart(int id)
{
// Remove the item from the cart
var cart = ShoppingCart.GetCart(this.HttpContext);
// Get the name of the album to display confirmation
string albumName = storeDB.Carts
.Single(item => item.RecordId == id).Album.Title;
// Remove from cart
int itemCount = cart.RemoveFromCart(id);
// Display the confirmation message
var results = new ShoppingCartRemoveViewModel
{
Message = Server.HtmlEncode(albumName) +
" has been removed from your shopping cart.",
CartTotal = cart.GetTotal(),
CartCount = cart.GetCount(),
ItemCount = itemCount,
DeleteId = id
};
return Json(results);
}
//
// GET: /ShoppingCart/CartSummary
[ChildActionOnly]
public ActionResult CartSummary()
{
var cart = ShoppingCart.GetCart(this.HttpContext);
ViewData["CartCount"] = cart.GetCount();
return PartialView("CartSummary");
}
}
}
請幫助我澄清一下,該特定的HttpPost是如何作為Ajax Post返回的。
我知道這是一個老問題,但是我在搜索中遇到了這個問題,為了使它起作用,我不得不在Url.Action周圍添加引號。
$.ajax({
type: "POST",
url: "@(Url.Action("RemoveFromCart"))",
data: ({
Id:1
}),
success: success,
dataType: dataType
})
嗨,您可以使用jQuery Ajax發出異步回發請求
請參見下面的代碼
$.ajax({
type: "POST",
url: @Url.Action("RemoveFromCart"),
data: ({
Id:1
}),
success: success,
dataType: dataType
})
[HttpPost] -屬性確保RemoveFromCart操作方法僅接受發布請求
[ChildActionOnly] -屬性確保操作方法只能在視圖中作為子方法調用。 這些通常與局部視圖關聯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.