2009-12-04 150 views
3

我不认为我很满意mvc中的Ajax函数,因为我得到这个奇怪的问题。asp.net mvc ajax.BeginForm重定向

我得到了下面的代码,这使得我的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" /> 
       <% } %> 

我在BasketController在我的母版

一个这种方法,其返回在篮/ BasketList.ascx发现的部分视图:

 [HttpPost] 
    public ActionResult AddToBasket(int productID) 
    { 
     // DO STUFF 

     return PartialView("BasketList"); 
    } 

当我在使用默认asp.net成员它人Am记录我工作正常,它更新篮子,它是所有异步,但是当我注销并单击addToCart时,它将我重定向到Basket/AddToBasket?productID = 1,这是一个局部视图。

有谁知道为什么会发生这种情况?

我有一个类似的问题与ajax.actionlink

<%= Ajax.ActionLink("Gem", "SaveBasket", "Basket", new AjaxOptions { HttpMethod = "Post" })%> 

它说:“该资源不能被发现。”当它应该触发时,它放在BasketController中

[HttpPost] 
public void SaveBasket() 
{ 
    // DO STUFF 
} 

回答

4

这听起来像你有一个JavaScript错误的地方,阻止应该发生的AJAX的东西。不能说为什么只会在退出时才会发生。

您在错误控制台/萤火虫中有任何错误吗?

+0

它是完全不同的,没有添加一个用于onSucces – Frost 2009-12-04 10:30:01

+0

的jQuery库,我发现它使用萤火虫,所以thx都:) – Frost 2009-12-04 10:30:46

2

您确定所有页面都包含Microsoft Ajax库吗?并按正确的顺序?

+0

我有: 在masterpage – Frost 2009-12-04 09:34:33