0

カスタム関数のパラメーターを使用してajax呼び出しを介してアクションメソッドを呼び出したいのですが、これではアクションメソッドが呼び出されません。この方法でアクションメソッドを呼び出すにはどうすればよいですか。コードは次のとおりです。

<script>
function myFunction(e,ids)
{
    var qty = e.value;
    if (qty == null) {
        alert("current null : " + qty + " : id - " + ids);
    }
     $.ajax({
     type: "POST",
     url:'/MyController/MyActionMethod/Parameter1/Parameter2',
     success: {
          alert("success")
     }

    });

}
</script>

私の行動方法は次のようなものです:

[HttpPost]
public ActionResult MyActionMethod(int parameter1,int parameter2){}

私を助けてください。ありがとう。

4

2 に答える 2

0

この目的のためにカスタムルートが必要です

routes.MapRoute(
            "RouteName", // Route name
            "{controller}/{action}/{param1}/{param2}",  // URL with parameters
   new { controller = "Home", action = "Index", param1 = "", param2 = "" } // Parameter defaults
        );

今あなたのajaxリクエストで試してください

         $.ajax({
             type: 'POST',
             url:'/MyController/MyActionMethod/Parameter1/Parameter2',
             success: {
                  alert("success")
             }

        });
于 2013-03-11T12:59:42.617 に答える
0

これを試してみてください'/MyController/MyActionMethod/Parameter1/Parameter2'。作業を開始するには、カスタム ルートを設定する必要があります。

var Parameter1 = '';
var Parameter2 = '';
$.ajax({
    type: "POST",
    url:'/MyController/MyActionMethod?parameter1=' + Parameter1 + '&parameter2=' + Parameter2,
    success: {
        alert("success")
    }
});

もう 1 つの方法は、data引数を含めることです。

var Parameter1 = '';
var Parameter2 = '';
$.ajax({
    type: "POST",
    url:'/MyController/MyActionMethod',
    data: {
        parameter1: Parameter1,
        parameter2: Parameter2
    },
    success: {
        alert("success")
    }
});
于 2013-03-11T11:41:57.667 に答える