Asp.net mvc 显示附带的图像和帖子如何使其显示
Asp.net mvc 显示附带的图像和帖子如何使其显示,asp.net-mvc,piranha-cms,Asp.net Mvc,Piranha Cms,最新推文 新闻订阅 @{ var news=新列表(); 使用(var db=new Piranha.DataContext()){ 新闻=db.Posts .Include(p=>p.CreatedBy) .Where(p=>p.Template.Name==“新闻发布类型”) .OrderByDescending(p=>p.Published) .采取(4)措施; } } @foreach(新闻中的var post){ 由@post.CreatedBy.Firstname发布@po
最新推文
新闻订阅
@{
var news=新列表();
使用(var db=new Piranha.DataContext()){
新闻=db.Posts
.Include(p=>p.CreatedBy)
.Where(p=>p.Template.Name==“新闻发布类型”)
.OrderByDescending(p=>p.Published)
.采取(4)措施;
}
}
@foreach(新闻中的var post){
@帖子摘录
Like@andreasnico指出,附件是引用的媒体资产id的集合。如果您想显示第一个附件(假设您知道它是一个图像),您可能会这样做
@foreach (var post in news) {
<div class="post">
<h2><a href="@UI.Permalink(post.PermalinkId)">@post.Title</a></h2>
<p class="meta">Published @post.Published.Value.ToString("yyyy-MM-dd") by @post.CreatedBy.Firstname</p>
<p>@post.Excerpt</p>
@if (post.Attachments.Count > 0) {
<img src="@UI.Content(post.Attachments[0])">
}
</div>
}
@foreach(新闻中的var post){
@帖子摘录
@如果(post.Attachments.Count>0){
}
}
这将获取第一个附件的内容URL,并将其用作图像的源。请注意,您还可以缩放和裁剪图像,以便在以下列表中使用:
<img src="@UI.Content(post.Attachments[0], 300, 100)">
这会将图像缩放并裁剪为300px宽和100px高。您可以在此处阅读更多信息:
此外,如果显示帖子列表的页面由CMS控制,并且具有页面类型,我建议您考虑向该页面添加PostRegion
或PostModelRegion
。这些区域会自动将帖子集合加载到页面模型中,您可以指定数量、排序顺序和其他内容。这将plify您可以重用页面类型,但可以更改为不同页面实例显示的帖子类型
问候
Håkan@post.Attachments表示一个数组,而不是一个图像。是这样吗?事实并非如此。它们都存储在CMS中,与帖子没有直接关系。因此我希望用附件引用图像,使其更具动态性。你是一个传奇人物!