我安装了ELMAH.MVC nuget包,它记录了我的ASP.NET MVC错误。但是当我转到http://www.example.com/en-us/elmah时,页面没有样式,并显示以下错误:
公共行动方式'样式表'在控制器上没有找到Elmah.Mvc.ElmahController'
我有以下路线:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("content/{*pathInfo}");
routes.IgnoreRoute("favicon.ico");
routes.MapRoute(
name: "users",
url: "{culture}/users/{userUrl}",
defaults: new
{
controller = "AccountProfile",
action = "Index",
culture = ""
}
);
routes.MapRoute(
name: "SpecificCulture",
url: "{culture}/{controller}/{action}/{id}",
defaults: new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional,
culture = ""
}
);
}
我的web.config appSettings
:
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="webpages:Version" value="2.0.0.0" />
<add key="PreserveLoginUrl" value="true" />
<add key="BaseAddress" value="http://localhost:3453/" />
<add key="MailActive" value="true" />
<add key="aspnet:UseHostHeaderForRequestUrl" value="true" />
<add key="elmah.mvc.disableHandler" value="false" />
<add key="elmah.mvc.disableHandleErrorFilter" value="false" />
<add key="elmah.mvc.requiresAuthentication" value="true" />
<add key="elmah.mvc.IgnoreDefaultRoute" value="false" />
<add key="elmah.mvc.allowedRoles" value="Administrator" />
<add key="elmah.mvc.allowedUsers" value="*" />
<add key="elmah.mvc.route" value="elmah" />
</appSettings>
我相信问题出在我的路线上,但我真的不知道该怎么办。
任何帮助都会很棒
编辑:
由Steve Newton吮吸我添加了以下路线:
routes.MapRoute(
name: "elmah",
url: "{controller}/elmah",
defaults: new
{
controller = "elmah",
action = "Index",
}
);
由于
答案 0 :(得分:0)
这看起来像提供的答案中描述的路由问题。为什么不保留Elmah的路由配置(密钥)并创建一个允许example.com/elmah的新路由? Elmah不会因文化而异,是一个干净的解决方案。