0

T4MVC在我的项目中使用。但是在部署到虚拟目录后,例如“/app”,当我运行该站点时,所有地址都是错误的。例如,而不是content/site.css/app/content/site.css,浏览器找不到它。

例如我写:

<link href="@Links.Content.bootstrap_min_css" rel="stylesheet" type="text/css" />

呈现为

<link href="/app/Content/bootstrap.min.css" rel="stylesheet" type="text/css" />

代替

<link href="Content/bootstrap.min.css" rel="stylesheet" type="text/css" />

我应该如何解决这个问题?

4

2 回答 2

3

通常,这是正确的行为。如果您的应用程序在虚拟目录 /app 下运行,则应该可以使用/app/content/site.css. 所以你的首要重点应该是试图理解为什么这不起作用。

如果你真的想改变这个逻辑,请查看ProcessVirtualPathT4MVC.tt.hooks.t4。您可以更改路径的处理方式,并根据需要轻松使其相对。确保在更改此文件后重新运行 T4MVC 自定义工具。

于 2012-12-05T18:22:33.660 回答
0

如果您在视图中显示用于引用 .css 的代码,将会很有帮助。我想它是这样的:

<link rel="stylesheet" type="text/css" href="/content/site.css">

您可以使用以下方法(在 Razor 中)指定应用程序根相对 url:

<link rel="stylesheet" type="text/css" href="@Url.Content("~/content/site.css")">

希望有帮助。

于 2012-12-04T07:50:19.163 回答