在局部视图 mvc 中显示三篇随机文章
display three random articles in a partial view mvc
我有一个博客,其中一个页面是 MainDetails,这里我显示当前博客,在这个详细信息页面中我显示一个 partialview
并且在那个部分我试图显示三个 random
类似 posts。但是我有点坚持语法:
在我的部分视图中,我所做的只是在我的列表中显示 post,但是我只想显示与类别 属性 相关的 3 个 post,但是在 random
。 Post
有 属性 CategoryId
, Post
与类别有多对一的关系(类别可以有很多 post 但 post 只能有一个类别),我试图获得 3 个随机数 posts 按类别相关:
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 个项目:
如果您只想拥有 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);
}
}
在您的视图中,您可以使用以下方式调用它
@Html.Action("RandomPosts", "Home", new { categoryId = 1 })
我有一个博客,其中一个页面是 MainDetails,这里我显示当前博客,在这个详细信息页面中我显示一个 partialview
并且在那个部分我试图显示三个 random
类似 posts。但是我有点坚持语法:
在我的部分视图中,我所做的只是在我的列表中显示 post,但是我只想显示与类别 属性 相关的 3 个 post,但是在 random
。 Post
有 属性 CategoryId
, Post
与类别有多对一的关系(类别可以有很多 post 但 post 只能有一个类别),我试图获得 3 个随机数 posts 按类别相关:
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 个项目:
如果您只想拥有 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);
}
}
在您的视图中,您可以使用以下方式调用它
@Html.Action("RandomPosts", "Home", new { categoryId = 1 })