从MacroPartialView Umbraco 8获取图像url
嗨,我以前可以通过以下方式从宏获取图像url:从MacroPartialView Umbraco 8获取图像url,umbraco,umbraco8,Umbraco,Umbraco8,嗨,我以前可以通过以下方式从宏获取图像url: var imgMain = Model.MacroParameters["image"]; int imgWidth = Convert.ToInt32(Model.MacroParameters["imageWidth"]); var mediaItemOne = Umbraco.TypedMedia(imgMain); <img src='@mediaItemOne.Url.GetCropUrl(width:ima
var imgMain = Model.MacroParameters["image"];
int imgWidth = Convert.ToInt32(Model.MacroParameters["imageWidth"]);
var mediaItemOne = Umbraco.TypedMedia(imgMain);
<img src='@mediaItemOne.Url.GetCropUrl(width:imageWidth)' alt=''/ >
var imgMain=Model.MacroParameters[“image”];
int imgWidth=Convert.ToInt32(Model.MacroParameters[“imageWidth]”);
var mediatitemone=Umbraco.TypedMedia(imgMain);
当我现在遇到以下错误,并且找不到任何关于如何操作的文档时,Umbraco 8的新方法是什么:
“UmbracoHelper”不包含“TypedMedia”的定义,并且没有
可访问扩展方法“TypedMedia”接受的第一个参数为
找不到类型“UmbracoHelper”(是否缺少using指令
或程序集引用?)
好的,如果有人看到这篇文章,这就是我最终在Umbraco 8中使用它的方式
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@using Umbraco.Web;
@using Umbraco.Web.Composing
@{
var img = Model.MacroParameters["image"].ToString();
int imageWidth = Convert.ToInt32(Model.MacroParameters["imageWidth"]);
var udi = Udi.Parse(img);
var imgUrl = Current.UmbracoHelper.ContentQuery.Media(udi).Url;
<img src='@imgUrl.GetCropUrl(width:imageWidth)' alt='' />
}
@继承Umbraco.Web.Macros.PartialViewMacroPage
@使用Umbraco.Web;
@使用Umbraco.Web.com
@{
var img=Model.MacroParameters[“image”].ToString();
int imageWidth=Convert.ToInt32(Model.MacroParameters[“imageWidth”]);
var udi=udi.Parse(img);
var imgUrl=Current.UmbracoHelper.ContentQuery.Media(udi.Url);
}
不使用Umbraco.TypedMedia
,只需使用Umbraco.Media
API已被简化,因为不再支持动态,也不再需要前一种方法
内容也是如此-TypedContent
已经消失,现在Umbraco.Content
返回一个强类型的ippublishedcontent项。试试这个
@inherits Umbraco.Web.Mvc.UmbracoViewPage
@{
var site = Model.Root();
var bannerImage = Model.Value<IPublishedContent>("bannerImage");
}
<img scr="@bannerImage.Url" />
@继承Umbraco.Web.Mvc.UmbracoViewPage
@{
var site=Model.Root();
var bannerImage=模型值(“bannerImage”);
}
请注意,Current.Umbraco Helper与使用Umbraco属性完全相同-您现在可以使用Umbraco.Media
。。。请参见下面我的答案。Umbraco总部的指导是,永远不要使用当前的
静态(或已知的单例)对象,在大多数情况下,您已经拥有访问内容、媒体等所需的一切。