Не думаю, что я получаю функции Ajax в mvc, потому что я получаю эту странную проблему.
Я получил следующий код, который делает мой вызов ajax, он помещен в частичное представление с productList:
<% using(Ajax.BeginForm("AddToBasket", "Basket",
new { productID = item.Id },
new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "Basket", OnSuccess = "productAdded(" + item.Id + ")" })) { %>
<input type="image" src="/Content/addToCart.png" />
<% } %>
У меня есть <div id="Basket"></div>
на главной странице
И этот метод в BasketController, который возвращает частичное представление, найденное в Basket / BasketList.ascx:
[HttpPost]
public ActionResult AddToBasket(int productID)
{
// DO STUFF
return PartialView("BasketList");
}
Когда я вошел в систему, используя членство по умолчанию в asp.net, все работает нормально, он обновляет корзину и все асинхронно, но когда я вышел из системы и щелкаю addToCart, он перенаправляет меня в Basket / AddToBasket? productID = 1, который является частичным представлением.
Кто-нибудь знает, почему это происходит?
У меня похожая проблема с ajax.actionlink
<%= Ajax.ActionLink("Gem", "SaveBasket", "Basket", new AjaxOptions { HttpMethod = "Post" })%>
где написано "Ресурс не найден". когда он должен выстрелить, который помещен в BasketController
[HttpPost]
public void SaveBasket()
{
// DO STUFF
}