本文整理汇总了C#中System.Web.Mvc.HtmlHelper.GetCached方法的典型用法代码示例。如果您正苦于以下问题:C# HtmlHelper.GetCached方法的具体用法?C# HtmlHelper.GetCached怎么用?C# HtmlHelper.GetCached使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Web.Mvc.HtmlHelper
的用法示例。
在下文中一共展示了HtmlHelper.GetCached方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RenderImage
public MvcHtmlString RenderImage(HtmlHelper helper, string imageUrl, Size targetSize = new Size(), string alt = null,
string title = null, object attributes = null)
{
var cachingInfo = _mediaSettings.GetCachingInfo(imageUrl, targetSize, alt, title, attributes);
return helper.GetCached(cachingInfo, htmlHelper =>
{
using (new SiteFilterDisabler(_session))
{
if (string.IsNullOrWhiteSpace(imageUrl))
return MvcHtmlString.Empty;
var image = _imageProcessor.GetImage(imageUrl);
if (image == null)
return MvcHtmlString.Empty;
if (targetSize != default(Size) && ImageProcessor.RequiresResize(image.Size, targetSize))
{
var location = _fileService.GetFileLocation(image, targetSize);
if (!string.IsNullOrWhiteSpace(location))
imageUrl = location;
}
var tagBuilder = new TagBuilder("img");
tagBuilder.Attributes.Add("src", imageUrl);
tagBuilder.Attributes.Add("alt", alt ?? image.Title);
tagBuilder.Attributes.Add("title", title ?? image.Description);
if (attributes != null)
{
var routeValueDictionary = MrCMSHtmlHelper.AnonymousObjectToHtmlAttributes(attributes);
foreach (var kvp in routeValueDictionary)
{
tagBuilder.Attributes.Add(kvp.Key, kvp.Value.ToString());
}
}
return MvcHtmlString.Create(tagBuilder.ToString(TagRenderMode.SelfClosing));
}
});
}