我在按钮点击时发送ajax调用以在Kendo Modal窗口中加载局部视图。在开发模式下,它正如预期的那样做得很好但在现场给我一个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);
我正试图找到解决这个问题的方法。任何解决此问题的想法,或者是否有任何方法可以捕获实时环境中的确切错误都将有所帮助。
以下是错误的网络屏幕截图
答案 0 :(得分:1)
你可以在你的javascript代码中使用html helper,比如
url: '@Html.UrlAction("actionname","controllername")'
答案 1 :(得分:0)
似乎错误可能在以下行
url: '../Page/AddEditPage',
使用url: '~/../Page/AddEditPage',