Не уверен, что это лучший подход, но это то, что я делаю.У меня есть структура папок, подобная этой:
/Content
layout.css
/Content/Images
/Content/Themes/ThemeUSA
layout.css
/Content/Themes/ThemeUSA/Images
Затем я использую Helper Extensions, чтобы вернуть правильный путь, например для изображения:
<img src="@Url.Image(Model.EnhImg)" alt="@Model.EnhImgAlt" />
, где
public static string Image(this UrlHelper helper, string fileName)
{
string sLocation = Content() + "images/" + fileName;
return helper.Content(sLocation);
}
private static string Content()
{
string sLocation = "~/content/";
string sTheme = (string)HttpContext.Current.Session["Theme"];
if (!String.IsNullOrEmpty(sTheme))
{
sLocation += "themes/" +sTheme + "/";
}
return sLocation;
}
Изображения в папках тем имеют то же имя, что и в папке по умолчанию.То же самое для таблиц стилей.