我使用媒体选取器作为类型的数据类型,对于该类型,用户将选择他们想要的图像作为交易图像。
但由于某些原因,我无法获得剃刀的语法来显示图像。如果我使用If语句来检查页面是否包含图片,那么它就不会包含图片。我认为这是因为我误解了一些东西而导致的问题。
我现在的剃刀声明:
<img src="@Umbraco.TypedMedia(Model.Content.GetPropertyValue("deal1image")).Url" />上面的代码不会显示任何内容。
希望你们中的任何一个人能指导我做错了什么和不应该做什么。我遗漏的东西。
这是我现在的home.cshtml的样子:
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
Layout = "Master.cshtml";
}
<div class="container">
<div class="col-md-4">
<!--Image here-->
<img src="@Umbraco.Media(CurrentPage.deal1image).Url" />
<div class="thumbnail thumbnailcustom thumbnailbg1">
<h3>@Umbraco.Field("dealtitle1")</h3>
<p>@Umbraco.Field("dealdescription1")</p>
</div>
</div>
<div class="col-md-4">
<!--Image here-->
<div class="thumbnail thumbnailcustom thumbnailbg2">
<h3>@Umbraco.Field("dealtitle2")</h3>
<p>@Umbraco.Field("dealdescription2")</p>
</div>
</div>
<div class="col-md-4">
<!--Image here-->
<div class="thumbnail thumbnailcustom thumbnailbg3">
<h3>@Umbraco.Field("dealtitle3")</h3>
<p>@Umbraco.Field("dealdescription3")</p>
</div>
</div>
</div>发布于 2015-02-03 23:33:46
您需要使用Umbraco.Media来获取媒体。所以就像这样
<img src="@Umbraco.Media(Model.Content.GetPropertyValue("deal1image").ToString()).Url" />或
<img src="@Umbraco.Media(CurrentPage.deal1image).Url" />发布于 2015-02-03 23:25:11
使用Umbraco.Media的一个示例:
var myPage = CurrentPage.AncestorsOrSelf().Where("DocumentTypeAlias == @0", "yourPageAlias").First();
Umbraco.Media(myPage.myImage.ToString()).Url发布于 2015-11-18 17:58:35
我们的on上的Link提供了两种解决方案:
键入的:
@if (Model.Content.HasValue("caseStudyImages"))
{
var caseStudyImagesList = Model.Content.GetPropertyValue<string>("caseStudyImages").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse);
var caseStudyImagesCollection = Umbraco.TypedMedia(caseStudyImagesList).Where(x => x != null);
foreach (var caseStudyImage in caseStudyImagesCollection)
{
<img src="@caseStudyImage.Url" style="width:300px;height:300px" />
}
}动态:
@if (CurrentPage.HasValue("caseStudyImages"))
{
var caseStudyImagesList = CurrentPage.CaseStudyImages.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
var caseStudyImagesCollection = Umbraco.Media(caseStudyImagesList);
foreach (var caseStudyImage in caseStudyImagesCollection)
{
<img src="@caseStudyImage.Url" style="width:300px;height:300px" />
}
}此外,请仔细检查您的媒体选取器数据类型别名。在这一部分中,拼写错误相当常见。
https://stackoverflow.com/questions/28301757
复制相似问题