MVC Partial View Returns 在开发中很好,但在 live 中失败并出现 404 错误

MVC Partial View Returns fine in dev but fails in live with 404 error

我正在发送一个 ajax 请求,点击按钮以在 Kendo 模态 window 中加载部分视图。在开发模式下,它按预期做的一切都很好,但在 live 中给我一个 404 错误。

以下是我的Ajax电话

        $('.add_page').click(function (e) {
        e.preventDefault();
        $.ajax({
            url: '../Page/AddEditPage',
            type: 'Get',
            accepts: 'text/html',
            context: self,
            success: self.addEditPageWindowCallBack,
            error: function () { toastr.error('Error: Something went wrong'); },
            complete: function () { }
        });
    });

以下是Ajax成功方法

    addEditPageWindowCallBack: function (html, textStatus, jqXHR) {
    var model = $('#AddEditPageModelWindow').data('kendoWindow');

    if (model === undefined) {
        model = $('#AddEditPageModelWindowLayout').data('kendoWindow');
    }

    model.content(html);
    model.center();
    model.open();
},

我的控制器动作方法如下

    public ActionResult AddEditPage(int Id = 0)
    {
        var pageId = Id;
        var pageViewModel = new PageViewModel();

        if(pageId == 0)
        {
            pageViewModel = new PageViewModel
            {
                Page = new Page(),
            };

            pageViewModel.Page.CreatedBy = User.Identity.GetUserId();
        }
        else
        {
            var pageData = pageService.GetPageByPageId(pageId);

            pageViewModel = new PageViewModel
            {
                Page = pageData,
            };
        }

        return PartialView("~/Views/Shared/Page/_AddEditPage.cshtml", pageViewModel);
    }

最初,我按如下方式返回部分视图

return PartialView("Page/_AddEditPage", pageViewModel);

我已经更改了以下但仍然没有效果

return PartialView("~/Views/Shared/Page/_AddEditPage.cshtml", pageViewModel);

我正在尝试找到解决此问题的方法。任何解决此问题的想法,或者是否有任何方法可以在实时环境中捕获确切的错误,都将非常有帮助。

以下是错误的网络截图

看来错误可能在下面一行

 url: '../Page/AddEditPage',

尝试 url: '~/../Page/AddEditPage',

您可以在 javascript 代码中使用 html 帮助程序,例如

url: '@Html.UrlAction("actionname","controllername")'