【发布时间】:2017-08-16 08:45:50
【问题描述】:
所以我将 Umbraco CMS 与 Archetype 一起使用,并尝试获取要在前端显示的图像属性。我让它根据附加图像显示我的其他 3 个字段,但我正在努力为 mediaitem 显示它,我做错了什么
// HomeController.cs
public class HomeController : SurfaceController {
public ActionResult RenderTheGroup()
{
List<FeaturedItem> model = new List<FeaturedItem>();
IPublishedContent homepage = CurrentPage.AncestorOrSelf(1).DescendantsOrSelf().Where(x => x.DocumentTypeAlias == "home").FirstOrDefault();
ArchetypeModel featuredItems = homepage.GetPropertyValue<ArchetypeModel>("featuredItemList");
foreach(ArchetypeFieldsetModel fieldset in featuredItems)
{
int imageId = fieldset.GetValue<int>("image");
var mediaItem = Umbraco.Media(imageId);
string image = mediaItem.Url;
model.Add(new FeaturedItem(
fieldset.GetValue<string>("name"),
fieldset.GetValue<string>("paragraph"),
fieldset.GetValue<string>("link"),
image
));
}
return PartialView(PARTIAL_VIEW_FOLDER + "_TheGroup.cshtml", model);
}
}
// 模型 - FeaturedItem.cs
public class FeaturedItem
{
public string Name { get; set; }
public string Paragraph { get; set; }
public string Image { get; set; }
public string LinkUrl { get; set; }
public FeaturedItem(string name, string paragraph, string image, string linkUrl)
{
Name = name;
Paragraph = paragraph;
Image = image;
LinkUrl = linkUrl;
}
}
}
//查看
<div class=" col-md-3">
<div class="thumbnail">
@RenderFeaturedItem(@Model[0], null)
</div>
</div>
@helper RenderFeaturedItem(FeaturedItem item, string extraClass)
{
<img src="@item.Image" alt="">
<div class="">
<div class="caption">
<h4>
<a target="_blank" href="@item.LinkUrl">@item.Name</a>
</h4>
<p>@item.Paragraph</p>
</div>
<div class="">
<p>
<a target="_blank" href="@item.LinkUrl">
Link here
<i class="fa fa-chevron-right" aria-hidden="true"></i>
</a>
</p>
</div>
</div>
}
【问题讨论】:
-
“挣扎”是什么意思?出现什么错误信息(如果有)?你尝试过不同的方法吗?调试?在开发工具控制台中寻找线索?
-
它在@item.Image 视图调用中不显示图像路径,它显示为空白。这可能是我调用 mediaItem 字段集的方式
标签: c# asp.net .net umbraco7 archetypes