2017-04-19 62 views
1

我使用d3js庫繪製圖表。下面是我打電話這樣的動作:從JavaScript調用正確的控制器 - ASP.NET MVC

d3.json("CANCEL_REASON/Statistics2", function (data) { 
.... 

我的控制器是這樣的:

public class CANCEL_REASONController : Controller 
    { 
     private Entities3 db = new Entities3(); 

     public ActionResult Statistics() 
     { 
      return View(); 
     } 

     public ActionResult Statistics2() 
     { 

     ///... 
     return Json(data, JsonRequestBehavior.AllowGet); 
     } 

當我調試JavaScript中,我認識到,它試圖撥打:

http://localhost:12345/CANCEL_REASON/CANCEL_REASON/Statistics2

當我將js更改爲:

d3.json("/Statistics2", function (data) { 
.... 

它試圖調用此:

http://localhost:12345/Statistics2

我應該如何修改我的代碼,以便它會調用這個:

http://localhost:12345/CANCEL_REASON/Statistics2

感謝。

+1

嘗試'/ CANCEL_REASON/Statistics2' –

回答

2

使用@Url.Action剃刀幫手,以獲得正確的路徑。

@Url.Action產生一個完全合格的URL到action方法。

d3.json('@Url.Action("Statistics2","CANCEL_REASON")', function (data) { 

或者乾脆

d3.json('/CANCEL_REASON/Statistics2', function (data) { 
+0

'@ Url.Action'不會,如果上面的代碼寫在'.js'文件進行訪問 –

1

添加斜線,你應該是好去:

d3.json("/CANCEL_REASON/Statistics2", function (data) { ... } 

那麼你的路徑將相對於根。

相關問題