私は奇妙な問題があります。 商品の詳細ビューに購入ページに移動するリンクがあります。Javascriptコードで目的のコントローラに移動できないMVC
私はそれが目的のページ
<a href="@Url.Action("PurchaseProduct", "Purchase", new { id = Model.ID, name = Model.Name})" id="link">
Buy
</a>
に移動し、このリンクを使用しかし、私は量の情報を必要とするので、私は、パラメータとしてコントローラに数量を送信するためにはJavaScriptを経てこれを解決しなければならないとしたら
私は多くの方法で試してみました:
<a href="#" id="link" onclick="return test();">
Buy
</a>
<a href="javascript:test();">More >>></a>
そして、これは私のjavascriptのコードです:
<script>
function test() {
var UrlSettings = {
url: '@Url.Action("PurchaseProduct", "Purchase")'
}
var selectedId = @Model.ID;
var selectedName = $('#name').val();
var quantity = $('#quantity').val();
$.ajax({
url: UrlSettings.url,
data: { 'id' : selectedId, 'name' : selectedName, 'quantity' : quantity },
type: "post",
cache: false,
success: function (savingStatus) {
// $("#hdnOrigComments").val($('#txtComments').val());
// $('#lblCommentsNotification').text(savingStatus);
},
error: function (xhr, ajaxOptions, thrownError) {
//$('#lblCommentsNotification').text("Error encountered while saving the comments.");
}
});
};
</script>
このJavaScriptコードではコントローラーメソッドに入力しますが、奇妙なことは何もしません。 PurcahseProductページには行かず、詳細ページに留まります。 これは私のコントローラです:
私はこのリンクを使用すると、PurchaseProductページに移動します。
私は何が間違っていると思いますか?この奇妙な行動を引き起こす原因は何ですか?
せずにデータを提出するよう、適切なフォームを使用するか、あなたは、フレームワークのいくつかの並べ替えを使用していますか?あなたのリンクの中の「@」記号は何ですか? –
フォームを使用して数量値をコントローラに転記してみませんか? –