从IEnumerable中取出一个SINGLE id

时间:2016-01-04 19:55:29

标签: c# asp.net-mvc

我正在尝试将我的id 6从我的数据库中取出,但我现在尝试了serval方式而没有任何运气。我应该在@Model.????之后输入什么我不能使用.Find因为我把它当作IEnumerable,因为我用它打印出网站另一个地方的所有标签。

CODE:

@model IEnumerable<ForumMvc.Models.Category>
@{
    ViewBag.Title = "Home Page";
}
<div style="margin-bottom: 50px; margin-top: 5px;" class="col-sm-8 col-sm-offset-2 CategoryBorder CommentHelper">
<div class="CategoryHead">
    <p id="categoryTitle">Predictions <i style="font-size: 15px;">Only for logged in members!</i></p>
</div>
<div class="col-sm-12">

</div>

1 个答案:

答案 0 :(得分:1)

在@model指令之后指定的类是您从控制器代码中提供View的内容。

如果您只想显示一个项目,可以从视图中的可枚举中获取该项目

@{
    var item = Model.FirstOrDefault(category => category.Id == 6)
}
<span>@item.Id</span>

或者将控制器更改为仅获取一个项目并更改视图,以便您的模型为类别。

例如,如果您的请求网址类似于http://localhost/Home/Item/6,那么您的控制器操作可能如下所示:

public ActionResult Item(int id) {
    using (ApplicationDbContext db = new ApplicationDbContext()) {
        Category model = db.Categories.Find(id);
        return View(model);
    }
}

然后您的视图可以通过使用它来显示它。

@model ForumMvc.Models.Category