mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-20 02:37:55 +08:00
Enabling Html.RegisterStyle("ie6.css").WithCondition("if lte IE 6").ForMedia("screen, projection");
- Added Condition property to FileRegistrationContext - Added StyleFileRegistrationContext + Media property - Updated Html helper methods for script and style reg to return registered context and added FileRegistrationContext extension methods for WithCondition and ForMedia --HG-- branch : dev
This commit is contained in:
@@ -10,3 +10,4 @@ glob:build
|
|||||||
glob:*.sln.cache
|
glob:*.sln.cache
|
||||||
glob:src/Orchard.Web/Modules/Orchard.DevTools/Module.txt
|
glob:src/Orchard.Web/Modules/Orchard.DevTools/Module.txt
|
||||||
glob:src/Orchard.Web/Modules/Orchard.Sandbox/Module.txt
|
glob:src/Orchard.Web/Modules/Orchard.Sandbox/Module.txt
|
||||||
|
glob:src/Orchard.Web/Media/*
|
||||||
|
@@ -10,11 +10,10 @@
|
|||||||
html.ViewContext.Writer.Write(@"<script type=""text/javascript"" src=""" + basejs + @"""></script>"));
|
html.ViewContext.Writer.Write(@"<script type=""text/javascript"" src=""" + basejs + @"""></script>"));
|
||||||
var siteCss = ResolveUrl("../Styles/site.css");
|
var siteCss = ResolveUrl("../Styles/site.css");
|
||||||
Model.Zones.AddAction("head:styles", html =>
|
Model.Zones.AddAction("head:styles", html =>
|
||||||
html.ViewContext.Writer.Write(@"<link rel=""stylesheet"" type=""text/css"" href=""" + siteCss + @"""/>")); %>
|
html.ViewContext.Writer.Write(@"<link rel=""stylesheet"" type=""text/css"" href=""" + siteCss + @"""/>"));
|
||||||
|
var ie6Css = ResolveUrl("../Styles/ie6.css");
|
||||||
<!--[if lte IE 6]>
|
Model.Zones.AddAction("head:styles", html =>
|
||||||
<link rel="stylesheet" type="text/css" media="screen, projection" href="/Themes/SafeMode/Styles/ie6.css" />
|
html.ViewContext.Writer.Write(@"<!--[if lte IE 6]><link rel=""stylesheet"" type=""text/css"" media=""screen, projection"" href=""" + ie6Css + @"""/><![endif]-->")); %>
|
||||||
<![endif]-->
|
|
||||||
<div id="header">
|
<div id="header">
|
||||||
<div id="branding"><h1>Welcome to Orchard</h1></div>
|
<div id="branding"><h1>Welcome to Orchard</h1></div>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -2,13 +2,11 @@
|
|||||||
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
<%@ Import Namespace="Orchard.Mvc.ViewModels"%>
|
||||||
<%@ Import Namespace="Orchard.Mvc.Html"%><%
|
<%@ Import Namespace="Orchard.Mvc.Html"%><%
|
||||||
Html.RegisterStyle("site.css");
|
Html.RegisterStyle("site.css");
|
||||||
|
Html.RegisterStyle("ie6.css").WithCondition("if lte IE 6").ForMedia("screen, projection");
|
||||||
Model.Zones.AddRenderPartial("header", "Header", Model);
|
Model.Zones.AddRenderPartial("header", "Header", Model);
|
||||||
Model.Zones.AddRenderPartial("header:after", "User", Model); // todo: (heskew) should be a user display or widget
|
Model.Zones.AddRenderPartial("header:after", "User", Model); // todo: (heskew) should be a user display or widget
|
||||||
Model.Zones.AddRenderPartial("menu", "Menu", Model);
|
Model.Zones.AddRenderPartial("menu", "Menu", Model);
|
||||||
%>
|
%>
|
||||||
<!--[if lte IE 6]>
|
|
||||||
<link rel="stylesheet" type="text/css" media="screen, projection" href="/Themes/TheAdmin/Styles/ie6.css" />
|
|
||||||
<![endif]-->
|
|
||||||
<div id="header" role="banner"><% Html.Zone("header"); %></div>
|
<div id="header" role="banner"><% Html.Zone("header"); %></div>
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<div id="navshortcut"><a href="#menu"><%=_Encoded("Skip to navigation") %></a></div>
|
<div id="navshortcut"><a href="#menu"><%=_Encoded("Skip to navigation") %></a></div>
|
||||||
|
@@ -5,11 +5,11 @@ using System.Web.UI;
|
|||||||
|
|
||||||
namespace Orchard.Mvc.Html {
|
namespace Orchard.Mvc.Html {
|
||||||
public class FileRegistrationContext : RequestContext {
|
public class FileRegistrationContext : RequestContext {
|
||||||
public FileRegistrationContext(ViewContext viewContext, IViewDataContainer viewDataContainer, string fileName)
|
public FileRegistrationContext(ControllerContext viewContext, IViewDataContainer viewDataContainer, string fileName)
|
||||||
: base(viewContext.HttpContext, viewContext.RouteData) {
|
: base(viewContext.HttpContext, viewContext.RouteData) {
|
||||||
Container = viewDataContainer as TemplateControl;
|
Container = viewDataContainer as TemplateControl;
|
||||||
|
|
||||||
if (Container != null)
|
if (Container != null) {
|
||||||
ContainerVirtualPath = Container.AppRelativeVirtualPath.Substring(
|
ContainerVirtualPath = Container.AppRelativeVirtualPath.Substring(
|
||||||
0,
|
0,
|
||||||
Container.AppRelativeVirtualPath.IndexOf(
|
Container.AppRelativeVirtualPath.IndexOf(
|
||||||
@@ -17,6 +17,7 @@ namespace Orchard.Mvc.Html {
|
|||||||
StringComparison.InvariantCultureIgnoreCase
|
StringComparison.InvariantCultureIgnoreCase
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
FileName = fileName;
|
FileName = fileName;
|
||||||
}
|
}
|
||||||
@@ -24,14 +25,19 @@ namespace Orchard.Mvc.Html {
|
|||||||
public TemplateControl Container { get; set; }
|
public TemplateControl Container { get; set; }
|
||||||
public string ContainerVirtualPath { get; set; }
|
public string ContainerVirtualPath { get; set; }
|
||||||
public string FileName { get; set; }
|
public string FileName { get; set; }
|
||||||
|
public string Condition { get; set; }
|
||||||
|
|
||||||
public override bool Equals(object obj)
|
public override bool Equals(object obj) {
|
||||||
{
|
if (ReferenceEquals(null, obj)) {
|
||||||
FileRegistrationContext incoming = obj as FileRegistrationContext;
|
return false;
|
||||||
|
}
|
||||||
return incoming != null &&
|
if (ReferenceEquals(this, obj)) {
|
||||||
string.Equals(ContainerVirtualPath, incoming.ContainerVirtualPath, StringComparison.InvariantCultureIgnoreCase) &&
|
return true;
|
||||||
string.Equals(FileName, incoming.FileName, StringComparison.InvariantCultureIgnoreCase);
|
}
|
||||||
|
if (obj.GetType() != typeof (FileRegistrationContext)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return Equals((FileRegistrationContext) obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal string GetFilePath(string containerRelativePath) {
|
internal string GetFilePath(string containerRelativePath) {
|
||||||
@@ -40,5 +46,25 @@ namespace Orchard.Mvc.Html {
|
|||||||
? Container.ResolveUrl(ContainerVirtualPath + containerRelativePath + FileName)
|
? Container.ResolveUrl(ContainerVirtualPath + containerRelativePath + FileName)
|
||||||
: (ContainerVirtualPath + containerRelativePath + FileName);
|
: (ContainerVirtualPath + containerRelativePath + FileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool Equals(FileRegistrationContext other) {
|
||||||
|
if (ReferenceEquals(null, other)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (ReferenceEquals(this, other)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return Equals(other.Container, Container) && Equals(other.ContainerVirtualPath, ContainerVirtualPath) && Equals(other.FileName, FileName) && Equals(other.Condition, Condition);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int GetHashCode() {
|
||||||
|
unchecked {
|
||||||
|
var result = (Container != null ? Container.GetHashCode() : 0);
|
||||||
|
result = (result*397) ^ (ContainerVirtualPath != null ? ContainerVirtualPath.GetHashCode() : 0);
|
||||||
|
result = (result*397) ^ (FileName != null ? FileName.GetHashCode() : 0);
|
||||||
|
result = (result*397) ^ (Condition != null ? Condition.GetHashCode() : 0);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
19
src/Orchard/Mvc/Html/FileRegistrationContextExtensions.cs
Normal file
19
src/Orchard/Mvc/Html/FileRegistrationContextExtensions.cs
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
namespace Orchard.Mvc.Html {
|
||||||
|
public static class FileRegistrationContextExtensions {
|
||||||
|
public static T WithCondition<T>(this T fileRegistrationContext, string condition)where T : FileRegistrationContext {
|
||||||
|
if (fileRegistrationContext == null)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
fileRegistrationContext.Condition = condition;
|
||||||
|
return fileRegistrationContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static T ForMedia<T>(this T styleFileRegistrationContext, string media) where T : StyleFileRegistrationContext {
|
||||||
|
if (styleFileRegistrationContext == null)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
styleFileRegistrationContext.Media = media;
|
||||||
|
return styleFileRegistrationContext;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -98,16 +98,16 @@ namespace Orchard.Mvc.Html {
|
|||||||
html.Resolve<IResourceManager>().RegisterLink(entry, html);
|
html.Resolve<IResourceManager>().RegisterLink(entry, html);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void RegisterStyle(this HtmlHelper html, string fileName) {
|
public static StyleFileRegistrationContext RegisterStyle(this HtmlHelper html, string fileName) {
|
||||||
html.Resolve<IResourceManager>().RegisterStyle(fileName, html);
|
return html.Resolve<IResourceManager>().RegisterStyle(fileName, html);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void RegisterScript(this HtmlHelper html, string fileName) {
|
public static FileRegistrationContext RegisterScript(this HtmlHelper html, string fileName) {
|
||||||
html.Resolve<IResourceManager>().RegisterHeadScript(fileName, html);
|
return html.Resolve<IResourceManager>().RegisterHeadScript(fileName, html);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void RegisterFootScript(this HtmlHelper html, string fileName) {
|
public static FileRegistrationContext RegisterFootScript(this HtmlHelper html, string fileName) {
|
||||||
html.Resolve<IResourceManager>().RegisterFootScript(fileName, html);
|
return html.Resolve<IResourceManager>().RegisterFootScript(fileName, html);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
11
src/Orchard/Mvc/Html/StyleFileRegistrationContext.cs
Normal file
11
src/Orchard/Mvc/Html/StyleFileRegistrationContext.cs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
using System.Web.Mvc;
|
||||||
|
|
||||||
|
namespace Orchard.Mvc.Html {
|
||||||
|
public class StyleFileRegistrationContext : FileRegistrationContext {
|
||||||
|
public StyleFileRegistrationContext(ControllerContext viewContext, IViewDataContainer viewDataContainer, string fileName)
|
||||||
|
: base(viewContext, viewDataContainer, fileName) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Media { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@@ -154,7 +154,9 @@
|
|||||||
<Compile Include="Extensions\StringExtensions.cs" />
|
<Compile Include="Extensions\StringExtensions.cs" />
|
||||||
<Compile Include="Extensions\UriExtensions.cs" />
|
<Compile Include="Extensions\UriExtensions.cs" />
|
||||||
<Compile Include="Mvc\AntiForgery\ValidateAntiForgeryTokenOrchardAttribute.cs" />
|
<Compile Include="Mvc\AntiForgery\ValidateAntiForgeryTokenOrchardAttribute.cs" />
|
||||||
|
<Compile Include="Mvc\Html\FileRegistrationContextExtensions.cs" />
|
||||||
<Compile Include="Mvc\Extensions\UrlHelperExtensions.cs" />
|
<Compile Include="Mvc\Extensions\UrlHelperExtensions.cs" />
|
||||||
|
<Compile Include="Mvc\Html\StyleFileRegistrationContext.cs" />
|
||||||
<Compile Include="Mvc\ViewModels\AdaptedViewModel.cs" />
|
<Compile Include="Mvc\ViewModels\AdaptedViewModel.cs" />
|
||||||
<Compile Include="Mvc\ViewUserControl.cs">
|
<Compile Include="Mvc\ViewUserControl.cs">
|
||||||
<SubType>ASPXCodeBehind</SubType>
|
<SubType>ASPXCodeBehind</SubType>
|
||||||
|
@@ -1,12 +1,13 @@
|
|||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
|
using Orchard.Mvc.Html;
|
||||||
|
|
||||||
namespace Orchard.UI.Resources {
|
namespace Orchard.UI.Resources {
|
||||||
public interface IResourceManager : IDependency {
|
public interface IResourceManager : IDependency {
|
||||||
void RegisterMeta(string name, string content);
|
void RegisterMeta(string name, string content);
|
||||||
void RegisterStyle(string fileName, HtmlHelper html);
|
StyleFileRegistrationContext RegisterStyle(string fileName, HtmlHelper html);
|
||||||
void RegisterLink(LinkEntry entry, HtmlHelper html);
|
void RegisterLink(LinkEntry entry, HtmlHelper html);
|
||||||
void RegisterHeadScript(string fileName, HtmlHelper html);
|
FileRegistrationContext RegisterHeadScript(string fileName, HtmlHelper html);
|
||||||
void RegisterFootScript(string fileName, HtmlHelper html);
|
FileRegistrationContext RegisterFootScript(string fileName, HtmlHelper html);
|
||||||
MvcHtmlString GetMetas();
|
MvcHtmlString GetMetas();
|
||||||
MvcHtmlString GetStyles();
|
MvcHtmlString GetStyles();
|
||||||
MvcHtmlString GetLinks(HtmlHelper html);
|
MvcHtmlString GetLinks(HtmlHelper html);
|
||||||
|
@@ -1,77 +1,89 @@
|
|||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
|
using Orchard.Localization;
|
||||||
using Orchard.Mvc.Html;
|
using Orchard.Mvc.Html;
|
||||||
|
|
||||||
namespace Orchard.UI.Resources {
|
namespace Orchard.UI.Resources {
|
||||||
[UsedImplicitly]
|
[UsedImplicitly]
|
||||||
public class ResourceManager : IResourceManager {
|
public class ResourceManager : IResourceManager {
|
||||||
|
private const string ConditionFormat = "\r\n<!--[{0}]>{{0}}\r\n<![endif]-->";
|
||||||
private const string MetaFormat = "\r\n<meta name=\"{0}\" content=\"{1}\" />";
|
private const string MetaFormat = "\r\n<meta name=\"{0}\" content=\"{1}\" />";
|
||||||
private const string StyleFormat = "\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"{0}\" />";
|
private const string StyleFormat = "\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"{0}\" {1} />";
|
||||||
private const string ScriptFormat = "\r\n<script type=\"text/javascript\" src=\"{0}\"></script>";
|
private const string ScriptFormat = "\r\n<script type=\"text/javascript\" src=\"{0}\"></script>";
|
||||||
private readonly Dictionary<string, string> _metas;
|
private readonly Dictionary<string, string> _metas;
|
||||||
private readonly List<FileRegistrationContext> _styles;
|
private readonly List<StyleFileRegistrationContext> _styles;
|
||||||
private readonly List<LinkEntry> _links;
|
private readonly List<LinkEntry> _links;
|
||||||
private readonly List<FileRegistrationContext> _headScripts;
|
private readonly List<FileRegistrationContext> _headScripts;
|
||||||
private readonly List<FileRegistrationContext> _footScripts;
|
private readonly List<FileRegistrationContext> _footScripts;
|
||||||
|
|
||||||
public ResourceManager() {
|
public ResourceManager() {
|
||||||
_metas = new Dictionary<string, string>(20) {{"generator", "Orchard"}};
|
_metas = new Dictionary<string, string>(20) {{"generator", "Orchard"}};
|
||||||
_styles = new List<FileRegistrationContext>(10);
|
_styles = new List<StyleFileRegistrationContext>(10);
|
||||||
_links = new List<LinkEntry>();
|
_links = new List<LinkEntry>();
|
||||||
_headScripts = new List<FileRegistrationContext>(10);
|
_headScripts = new List<FileRegistrationContext>(10);
|
||||||
_footScripts = new List<FileRegistrationContext>(5);
|
_footScripts = new List<FileRegistrationContext>(5);
|
||||||
|
T = NullLocalizer.Instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Localizer T { get; set; }
|
||||||
|
|
||||||
public void RegisterMeta(string name, string content) {
|
public void RegisterMeta(string name, string content) {
|
||||||
if (!string.IsNullOrEmpty(name) && !_metas.ContainsKey(name))
|
if (!string.IsNullOrEmpty(name) && !_metas.ContainsKey(name))
|
||||||
_metas.Add(name, content);
|
_metas.Add(name, content);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RegisterStyle(string fileName, HtmlHelper html) {
|
public StyleFileRegistrationContext RegisterStyle(string fileName, HtmlHelper html) {
|
||||||
if (string.IsNullOrEmpty(fileName))
|
if (string.IsNullOrEmpty(fileName))
|
||||||
return;
|
throw new ArgumentException(T("Style fileName was not given.").ToString());
|
||||||
|
|
||||||
var context = new FileRegistrationContext(html.ViewContext, html.ViewDataContainer, fileName);
|
var context = new StyleFileRegistrationContext(html.ViewContext, html.ViewDataContainer, fileName);
|
||||||
|
|
||||||
if (!_styles.Contains(context))
|
if (!_styles.Contains(context))
|
||||||
_styles.Add(context);
|
_styles.Add(context);
|
||||||
|
|
||||||
|
return context;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RegisterLink(LinkEntry entry, HtmlHelper html) {
|
public void RegisterLink(LinkEntry entry, HtmlHelper html) {
|
||||||
_links.Add(entry);
|
_links.Add(entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RegisterHeadScript(string fileName, HtmlHelper html) {
|
public FileRegistrationContext RegisterHeadScript(string fileName, HtmlHelper html) {
|
||||||
if (string.IsNullOrEmpty(fileName))
|
if (string.IsNullOrEmpty(fileName))
|
||||||
return;
|
throw new ArgumentException(T("Head script fileName was not given.").ToString());
|
||||||
|
|
||||||
var context = new FileRegistrationContext(html.ViewContext, html.ViewDataContainer, fileName);
|
var context = new FileRegistrationContext(html.ViewContext, html.ViewDataContainer, fileName);
|
||||||
|
|
||||||
if (!_headScripts.Contains(context))
|
if (!_headScripts.Contains(context))
|
||||||
_headScripts.Add(context);
|
_headScripts.Add(context);
|
||||||
|
|
||||||
|
return context;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RegisterFootScript(string fileName, HtmlHelper html) {
|
public FileRegistrationContext RegisterFootScript(string fileName, HtmlHelper html) {
|
||||||
if (string.IsNullOrEmpty(fileName))
|
if (string.IsNullOrEmpty(fileName))
|
||||||
return;
|
throw new ArgumentException(T("Foot script fileName was not given.").ToString());
|
||||||
|
|
||||||
var context = new FileRegistrationContext(html.ViewContext, html.ViewDataContainer, fileName);
|
var context = new FileRegistrationContext(html.ViewContext, html.ViewDataContainer, fileName);
|
||||||
|
|
||||||
if (!_footScripts.Contains(context))
|
if (!_footScripts.Contains(context))
|
||||||
_footScripts.Add(context);
|
_footScripts.Add(context);
|
||||||
|
|
||||||
|
return context;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MvcHtmlString GetMetas() {
|
public MvcHtmlString GetMetas() {
|
||||||
return
|
return
|
||||||
MvcHtmlString.Create(string.Join("\r\n",
|
MvcHtmlString.Create(string.Join("",
|
||||||
_metas.Select(m => string.Format(MetaFormat, m.Key, m.Value)).Reverse().ToArray()));
|
_metas.Select(m => string.Format(MetaFormat, m.Key, m.Value)).Reverse().ToArray()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public MvcHtmlString GetStyles() {
|
public MvcHtmlString GetStyles() {
|
||||||
return GetFiles(_styles, StyleFormat, "/styles/");
|
return GetStyleFiles(_styles, StyleFormat, "/styles/");
|
||||||
}
|
}
|
||||||
|
|
||||||
public MvcHtmlString GetLinks(HtmlHelper html) {
|
public MvcHtmlString GetLinks(HtmlHelper html) {
|
||||||
@@ -125,8 +137,27 @@ namespace Orchard.UI.Resources {
|
|||||||
|
|
||||||
private static MvcHtmlString GetFiles(IEnumerable<FileRegistrationContext> fileRegistrationContexts, string fileFormat, string containerRelativePath) {
|
private static MvcHtmlString GetFiles(IEnumerable<FileRegistrationContext> fileRegistrationContexts, string fileFormat, string containerRelativePath) {
|
||||||
return
|
return
|
||||||
MvcHtmlString.Create(string.Join("\r\n",
|
MvcHtmlString.Create(string.Join("",
|
||||||
fileRegistrationContexts.Select(c => string.Format(fileFormat, c.GetFilePath(containerRelativePath))).ToArray()));
|
fileRegistrationContexts.Select(
|
||||||
|
c =>
|
||||||
|
string.Format(fileFormat, c.GetFilePath(containerRelativePath))).
|
||||||
|
ToArray()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static MvcHtmlString GetStyleFiles(IEnumerable<StyleFileRegistrationContext> styleFileRegistrationContexts, string fileFormat, string containerRelativePath) {
|
||||||
|
return MvcHtmlString.Create(string.Join("",
|
||||||
|
styleFileRegistrationContexts.Select(
|
||||||
|
c =>
|
||||||
|
string.Format(
|
||||||
|
!string.IsNullOrEmpty(c.Condition)
|
||||||
|
? string.Format(ConditionFormat, c.Condition)
|
||||||
|
: "{0}",
|
||||||
|
string.Format(fileFormat,
|
||||||
|
c.GetFilePath(containerRelativePath),
|
||||||
|
!string.IsNullOrEmpty(c.Media)
|
||||||
|
? string.Format("media=\"{0}\"", c.Media)
|
||||||
|
: "")))
|
||||||
|
.ToArray()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user