2016-09-09 21 views
1

スクリプトからコントローラアクションを呼び出そうとしていますが、このメソッドは呼び出されていません。ビューのスクリプトからコントローラを呼び出す操作

これは私のコントローラのアクションです:

[HttpPost]  
public ActionResult EditQuantity(int? id, int quantity) 
{ 
    if (id == null) 
    { 
      return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
    } 
    Cart cart = db.Carts.Find(id); 
    if (cart == null) 
    { 
     return HttpNotFound(); 
    } 
    cart.Quantity = quantity; 
    db.SaveChanges(); 
    string url = this.Request.UrlReferrer.AbsolutePath; 
    return Redirect(url); 
} 

これは私のスクリプトです:

<script> 
    function refreshTotal(ProductId) { 
     var qty = document.getElementById("product-quantity-" + ProductId).value; 
     var UnitPrice = document.getElementById("unit-price-" + ProductId).innerText; 
     var total = qty * UnitPrice; 
     document.getElementById("product-total-" + ProductId).innerHTML = "$" + total.toFixed(2); 

     $.post('@Url.Action("EditQuantity", "Home")', { "id": ProductId, "quantity": qty }, function (data) {   

     }); 
    } 
</script> 

そしてHTMLから次のようにスクリプトが呼び出されている:

<td class=""><img src="" class="img-responsive" onclick="refreshTotal(@product.Id)"></td> 

ソリューションですスクリプトから、スクリプトから、呼び出しはアクションに行われていません。

答えて

0

私は 'productId'にタイプミスがありました。これは 'ProductId'にする必要があります。それは今働いています:)

0

すべてがあなたの提供されたコードで良いようです。あなたはブラウザコンソールでJavaScriptエラーを探しましたが、あなたのアクションは正しいコントローラにありますか?

+0

これは答えではありません。これはコメントです。 – Berkay

+0

申し訳ありませんが、コメントで返信するほどの評判(50)はありません。 –

+0

実際に投稿する前に彼が自分の問題を解決したので、答えは必要ありません。 – Berkay

関連する問題