문제

나는 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를 클릭하면 바스켓/AddTobasket으로 리디렉션됩니다. , 그것은 부분적인 견해입니다.

왜 이런 일이 일어나는지 아는 사람이 있습니까?

AJAX.ActionLink와 비슷한 문제가 있습니다

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

"자원을 찾을 수 없습니다"라고 말합니다. 발사해야 할 때, 바스켓 콘트롤러에 배치됩니다.

[HttpPost]
public void SaveBasket()
{
    // DO STUFF
}
도움이 되었습니까?

해결책

Ajax 물건을 차단하는 어딘가에 JavaScript 오류가있는 것 같습니다. 그래도 로그 아웃 할 때만 발생하는 이유는 말할 수 없습니다.

오류 콘솔/파이어 버그에 오류가 있습니까?

다른 팁

모든 페이지가 Microsoft Ajax 라이브러리를 포함하고 있습니까? 그리고 올바른 순서로?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top