8

设置:

我在 ASP.NET MVC 4 站点上通过 NuGet 安装了 ELMAH。

在开发机器上,应用程序安装在根目录下。这一切都有效,并且通常采用 ELMAH 页面的样式。它总是这样做,在我的意思是开发机器上工作,不是吗?

但在服务器上,该应用程序安装在子文件夹 (~/tracker) 中。尽管 ELMAH 工作正常,但页面没有样式,因此难以阅读。

问题:

我需要做什么才能使页面样式化?

据推测,样式来自可以在 web.config 中配置的资源。但是怎么做?

编辑:

我发现我收到了一个高度相关的错误:

System.Web.HttpException: A public action method 'stylesheet' was not found on controller 'Elmah.Mvc.ElmahController'.

路径如下:

/tracker/elmah/stylesheet

这显然与 ELMAH 页面源中的 Link 标签有关:

<link rel="stylesheet" type="text/css" href="/tracker/elmah/stylesheet" />

但是如何配置这个 url?

4

1 回答 1

6

你的“elmah.mvc.route”设置是什么?如果您从路径中删除“/tracker”,您能看到 elmah 屏幕吗?

开箱即用,elmah 的路由设置为:

<add key="elmah.mvc.route" value="elmah" />

你的需要是

<add key="elmah.mvc.route" value="tracker/elmah" />

您的路由配置正确地重定向了控制器操作的请求,但是 elmah 会在不使用您的路由配置的情况下打印样式表地址本身,因此您需要告诉它使用哪个路由/URL 来引用它。

于 2013-09-18T15:04:21.837 回答