gpt4 book ai didi

c# - 在局部 View mvc 中显示三篇随机文章

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:31 25 4
gpt4 key购买 nike

我有一个博客,其中一个页面是 MainDetails,在这里我显示当前博客,在这个详细信息页面中我显示一个 partialview 并且在那个部分我试图显示三个 随机 相似的帖子。但是我有点坚持语法:

在我的部分 View 中,我所做的只是显示我列表中的帖子,但是我只想显示与类别属性相关的 3 个帖子,但随机Post有属性CategoryIdPost和Category是多对一的关系(category可以有很多post,post只能有一个category) ,我正在尝试获取 3 个按类别相关的随机帖子:

PostController GetSimilarPosts 操作:

    public ActionResult GetSimilarPosts(int id = 0)
{
var randomPosts = db.Categories.Where(p => p.Id == id).SelectMany(p => p.Posts).OrderBy(r => Guid.NewGuid()).Take(3);
return View(randomPosts.ToList());
}

但是在我的 maindetails 页面上针对上述操作和 partialview 的输出仍然显示超过 3 个项目:

enter image description here

最佳答案

如果你只想拥有 3 篇随机文章,你可以使用这样的东西

public class HomeController : Controller
{
private DatabaseContext db = new DatabaseContext();

public ActionResult RandomPosts(int categoryId)
{
var randomPosts = db.Posts.Where(x => x.CategoryId == categoryId)
.OrderBy(r => Guid.NewGuid()).Take(3);
return View(randomPosts);
}
}

在您的 View 中,您可以使用以下方式调用它

@Html.Action("RandomPosts", "Home", new { categoryId = 1 })

关于c# - 在局部 View mvc 中显示三篇随机文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29900080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com