asp.net MVC ajax.BeginFormリダイレクト
-
12-09-2019 - |
質問
私は、私は、この奇妙な問題を取得しているため、私はかなりの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でこの方法では、/ BasketList.ascxます:
[HttpPost]
public ActionResult AddToBasket(int productID)
{
// DO STUFF
return PartialView("BasketList");
}
私はそれがすべて正常に動作し、デフォルトのasp.netメンバーシップを使用してログインしていた場合、、それはバスケットを更新し、それはすべて非同期ですが、私はログアウトしていますし、addToCartをクリックしたとき、それはバスケット/ AddToBasketに私をリダイレクト?部分図でのproductID = 1、。
これがなぜ起こるか誰もが知っていますか?
私はajax.actionlinkと同様の問題を抱えている。
<%= Ajax.ActionLink("Gem", "SaveBasket", "Basket", new AjaxOptions { HttpMethod = "Post" })%>
それが言うところ、「リソースが見つかりません。」それは火なければならないとき、BasketControllerに配置されている。
[HttpPost]
public void SaveBasket()
{
// DO STUFF
}
解決
あなたが起こってしなければならないAJAXのものをブロックしているどこかのjavascriptのエラーを持っているように、
これが鳴ります。しかしログアウトしたときにのみ起こる理由を言うことはできません。
エラーコンソール/放火犯にすべてのエラーを持っていますか?
他のヒント
あなたは必ず、すべてのページは、Microsoft Ajaxライブラリを含むされていますか?そして、正しい順序で?
所属していません StackOverflow