我对asp.net mvc相当新,在我的详细信息页面中,我尝试在我的详细信息页面中添加指向其他详细信息页面的链接。以及有关所选页面的信息。但我不确定如何在控制器或视图中进行此操作。
以下是详细信息页面的控制器代码:
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Posts posts = db.Posts.Find(id);
if (posts == null)
{
return HttpNotFound();
}
return View(posts);
}
我尝试在其中添加这样的内容:
var posts = (from p in db.Posts
orderby p.DateAdded descending
select p).Take(4);
但我没有运气。 所有帮助表示赞赏。
答案 0 :(得分:0)
问题不是很清楚。我假设您正在尝试在一个帖子的详细信息页面上显示指向其他四个帖子的链接。
在这种情况下,您必须创建一个视图模型类,该类将从您的Details
操作返回到视图。像这样:
public class PostDetailsViewModel
{
public Post MainPost { get; set; }
public List<Post> OtherPosts { get; set; }
}
然后在您的控制器操作中,您将填充此模型:
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Post mainPost = db.Posts.Find(id);
if (mainPost == null)
{
return HttpNotFound();
}
var otherPosts = (from p in db.Posts
orderby p.DateAdded descending
select p).Take(4).ToList();
var model = new PostDetailsViewModel
{
MainPost = mainpost,
OtherPosts = otherPosts
}
return View(model);
}
请务必更新您的Details
视图以接受PostDetailsViewModel
作为其型号。