2009-12-04 5 views
3

나는이 이상한 문제를 겪기 때문에 mvc에서 Ajax 기능을 상당히 사용한다고 생각하지 않는다. ,asp.net mvc ajax.BeginForm Redirectioning

   <% 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 내 masterpage

<div id="Basket"></div> 그리고이 방법이 있습니다

나는 그것이 제품 목록이있는 부분보기에 배치되어, 내 아약스 호출을 다음 코드를 가지고 한 바구니/BasketList.ascx에서 발견되는 부분도 반환 내가 알을 기본 asp.net 회원을 사용하여 로그인하고

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

     return PartialView("BasketList"); 
    } 

을 난 잘 작동, 그것은 바구니를 업데이 트하고 그것은 모두 비동기지만, 내가 로그 아웃하고 addToCart를 클릭하면, 그것은 나를 바구니/AddToBasket로 리디렉션합니까? productID = 1, 부분보기입니다.

왜 이런 일이 발생하는지 알고 있습니까?

나는 그것이라는 ajax.actionlink

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

와 유사한 문제가 "리소스를 찾을 수 없습니다." 언제 BasketController에 배치해야합니까?

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

답변

4

어쩌면 일어날 AJAX 물건을 차단하는 자바 스크립트 오류가있는 것 같습니다. 왜 로그 아웃했을 때 그런 일이 일어날 지 말할 수 없습니다.

error console/firebug에 오류가 있습니까?

+0

masterpage에서 완전히 다른 것으로, 사용 된 onSucces – Frost

+0

을 추가하지 않은 jQuery 라이브러리와 파이어 버그를 사용하여이 두 가지를 모두 발견했습니다. :) – Frost

2

모든 페이지에 Microsoft Ajax 라이브러리가 포함되어 있습니까? 올바른 순서로?

+0

내가 가진 : <스크립트 SRC = "/ 스크립트/MicrosoftAjax.js"유형 = "텍스트/자바 스크립트"> <스크립트 SRC = "/ 스크립트/MicrosoftMvcAjax.js"유형 = "텍스트/자바 스크립트"> – Frost