2014-12-02 72 views
-1

如何调用两种不同的操作方法,基于在Ajax请求提供的参数,但URL应该是相同的 例如:调用两个不同的动作有相同的URL

 public ActionResult Method1(int a) 
     { 

      return Json(true); 
     } 

     public ActionResult Method2(int b, int c) 
     { 
      return Json(true); 
     } 

样品网址:/控制器/方法但提供的参数是不同的,所以相应的动作方法应该被调用

+0

使用的承诺,并等待他们俩是做任何事情之前完成。 – Johan 2014-12-02 07:06:33

+1

你的意思是_with AJAX calls_有相同的URL吗?您需要与不同的网址进行2次不同的通话。例如'url:'@ Url.Action(“Method1”,“YourController”)''和'url:'@ Url.Action(“Method2”,“YourController”)',' – 2014-12-02 07:08:12

+0

有一种情况,只有一个URL说:/ MyController/MethodName – Mitesh 2014-12-02 07:10:49

回答

0

在你的JavaScript做ajax调用你可以做一个参数检查,并从中决定网址。 类似的信息(伪代码):

<script> 
function YourAjaxkCall(param1, param2, param3){ 
    string url; 
    if(param1 === someExpectedResult){ 
    url = '@Url.Action("Method1", "Controller")'; 
    data = param2; 
    } 
    if(param1 === someOtherExpectedResult){ 
    url = '@Url.Action("Method2", "Controller")'; 
    data = param2, param3 (Do proper converting to Json here) 
    } 
    'DoYourAjaxCall' 
} 

</script> 
相关问题