我不认为我在mvc中得到了Ajax函数,因为我遇到了这个奇怪的问题。
我得到了以下代码,它使我的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
}
答案 0 :(得分:4)
听起来你在某个地方有一个javascript错误阻止了应该发生的AJAX事情。不能说为什么只有在退出时才会发生。
错误控制台/ firebug中是否有任何错误?
答案 1 :(得分:2)
您确定所有网页都包含Microsoft Ajax库吗?并按正确的顺序?