【问题标题】:web.config error in compilation编译中的 web.config 错误
【发布时间】: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


【解决方案1】:

如前所述,请从 ajax post 调用的控制器操作中删除 HttpGet 属性。

【讨论】:

    猜你喜欢
    • 2014-07-01
    • 1970-01-01
    • 2012-10-24
    • 2019-07-16
    • 1970-01-01
    • 1970-01-01
    • 2016-12-16
    • 2011-11-12
    • 2016-07-14
    相关资源
    最近更新 更多