2013-03-11 43 views
0

我想通過ajax調用在我的自定義函數中調用帶有參數的操作方法。但這不會調用我的操作方法。因此,如何在此調用我的操作方法辦法。 下面是代碼:在我的自定義函數中通過ajax調用帶有參數的調用Action方法

<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){}

請幫助我。 謝謝。

回答

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") 
    } 
}); 
+0

這不會調用行動方法,請建議另一種選擇... – Herin 2013-03-11 12:12:13

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") 
      } 

     });