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

试试这个,要开始'/MyController/MyActionMethod/Parameter1/Parameter2'工作,您需要设置自定义路线。

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

另一种方法是包含一个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 回答
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 回答