我正在使用d3js库绘制图表。这是我所说的动作:

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


谢谢。

最佳答案

使用@Url.Action剃须刀助手以获取正确的路径。

@Url.Action生成指向action方法的标准URL。

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


或者简单地

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

10-01 04:27