У нас есть многоязычный сайт, или чувствительный к культуре, и теперь некоторые из статического контента должны быть нацелены;для этого я использую темы, так как кажется самым простым способом достичь того, чего я хочу, но я не могу на всю жизнь заставить изображения подобрать.
I 'Я установил тему в code-behind и сначала подумал, что, может быть, в этом проблема, но при проверке похоже, что я делаю правильные вещи (настройка на Pre-Init
).
Я ожидаючтобы иметь возможность ссылаться на изображения, используя относительные пути, где App_Themes/ThemeName/
автоматически разрешается, например:
<asp:Image runat="server" ImageUrl="images\image.jpg"/>
По какой-то причине, однако, изображение вообще не просматривается.
Это код, который у нас есть для установки темы (я уверен, что единственной действительно важной частью является Theme = CurrentSite.CultureName
, который успешно применяется):
Private Sub SetTheme()
Dim themesPath = Server.MapPath("~/App_Themes")
If Directory.Exists(themesPath) Then
Dim themePaths = Directory.GetDirectories(themesPath)
Dim themePathInfo As DirectoryInfo
For Each _path In themePaths
themePathInfo = New DirectoryInfo(_path)
If Not themePathInfo Is Nothing Then
If themePathInfo.Name = CurrentSite.CultureName Then
Theme = CurrentSite.CultureName
Exit For
End If
End If
Next
End If
End Sub
В приведенном вышеcode, CurrentSite.CultureName
будет именем языковой культуры (например, en-gb или nn-no), в котором имеется соответствующая папка темы, содержащая все необходимые ресурсы.
На страницах установлен EnableTheming
до True
.Кроме того, я попытался удалить код настройки темы и применить тему на странице, используя Theme="en-gb"
, но безрезультатно.
Есть ли что-то сразу очевидное в отношении того, почему URL-адреса не разрешены?