【发布时间】:2018-01-31 11:54:23
【问题描述】:
在 MVC .net Framework 4.5 中,我对部分视图操作方法进行了 JQuery Ajax POST 调用。
但相反,它重定向到一个动作,我是 RouteConfig 文件顶部的一个路由:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Dashboard", action = "Index", id = UrlParameter.Optional }
);
它给出了这个错误: “在控制器上找不到公共方法” 在这行代码中:
Html.RenderAction("GetRate", "Exchange", new { area = "ExchangeArea" });
在 Global.asax 中
执行处理程序的子请求时出错 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'。'
我继续看到实际的错误,是:
解析器错误信息:
无法识别的元素“编译”。
来源错误:
<customErrors mode="Off" redirectMode="ResponseRewrite"> Line 89: <compilation debug="true"/> Line 90: <error statusCode="404" redirect="~/HTML404.cshtml"/> Line 91: </customErrors>
【问题讨论】:
-
看起来很奇怪。如果该行在配置中或在错误的位置不正确,您将收到有关无法调试的错误消息。如果捕获 Server.GetLastError(); 会返回什么错误;在 Global.asax 中的 Application_Error 中?
-
@Wheels73 我更新了我的问题。问题是,它重定向到部分视图,这是我在 RouteConfig 中的默认视图。并在呈现该视图时出错..这很奇怪..
-
您是否在 GetRate\Exchange 的控制器操作上方装饰了 [HttpGet]?
-
@Wheels73 是的,我有
-
好的..删除它,看看会发生什么!
标签: asp.net-mvc compilation web-config