我安装了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 )所建议的,我添加了以下路线:
routes.MapRoute(
name: "elmah",
url: "{controller}/elmah",
defaults: new
{
controller = "elmah",
action = "Index",
}
);谢谢
发布于 2014-07-08 21:14:27
这看起来像提供的答案中描述的路由问题。为什么不保留Elmah的路由配置(键)并创建一个允许example.com/elmah的新路由?Elmah不会因文化而异,这是一个干净的解决方案。
https://stackoverflow.com/questions/24641356
复制相似问题