1

我在使用 v1.6.1 时开始创建新主题。

创建自定义模块的过程并不顺利,所以我决定从头开始。这次我使用的是 V1.7 的源码

我复制了我的自定义主题文件夹,将其粘贴到新的 1.7 项目的主题文件夹中并运行该站点。我可以在仪表板中看到主题,因此我将其设置为当前主题。

现在,当我查看我的网站时,没有加载任何图像。样式表正在加载,但没有任何图像(来自样式表或任何视图)正在加载。

我的图片在 myTheme/content/images 中——据我了解,这是 1.6.1 要求的布局方式。

我的内容文件夹和图像文件夹一样有一个 web.config。它与 1.6.1 中使用的配置相同,所以我想知道是否发生了变化。

在我的一个主题视图中,我有以下代码 - 这在 1.6.1 中有效:

<img src="@Url.Content(Html.ThemePath(WorkContext.CurrentTheme,"/Content/Images/phoneBullet.png"))" alt="T:" />

如果我将它输出到我的前端,我会得到:

~/Themes/PerformanceAbrasives/Content/Images/phoneBullet.png

这告诉我事情似乎在正确的位置 - 尽管我想知道我的 web.config 现在是否已过时?

我有这个 - 内容中有一个副本,图像中有一个副本:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appSettings>
    <add key="webpages:Enabled" value="false" />
  </appSettings>
  <system.web>
    <httpHandlers>
      <!-- iis6 - for any request in this location, return via managed static file handler -->
      <add path="*" verb="*" type="System.Web.StaticFileHandler" />
    </httpHandlers>
  </system.web>
  <system.webServer>
    <staticContent>
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
    </staticContent>

    <handlers accessPolicy="Script,Read">
      <!--
      iis7 - for any request to a file exists on disk, return it via native http module.
      accessPolicy 'Script' is to allow for a managed 404 page.
      -->
      <add name="StaticFile" path="*" verb="*" modules="StaticFileModule" preCondition="integratedMode" resourceType="File" requireAccess="Read" />
    </handlers>
  </system.webServer>
</configuration>

任何指针?

更新

好的......所以如果我将我的项目设置为使用 Visual Studios 内部开发服务器,那么一切都很好 - 如果我告诉它使用本地 IIS Web 服务器 - 使用 IIS Express ( http://localhost:30333/) - 那么它就不起作用了......

更新 2

好的 - 现在从 IIS 7 运行并且图像不加载......样式表似乎没问题,但图像不是...... grrr

有什么想法,所以我在部署时不会遇到这个问题?

4

1 回答 1

3

好吧 - 我想通了......

您只需要我的目录中的 web.config Content- 不需要在两者contentimages

于 2013-08-10T17:01:59.257 回答