从表中选择仅一个数据

时间:2012-12-05 09:15:01

标签: asp.net-mvc-3

大家好我从我的桌子上得到这些数据 enter image description here

details_ID |作者| DetailTitle | DetailDescription | DateCreated | DateUpdated


12 | admin |测试|只是一个测试| 2012年12月5日| 2012年12月5日
13 | admin | Test2 |狗与猫| 2012年12月5日| 2012年12月5日
14 | admin | Test3 |等等等等2012年12月5日| 2012年12月5日


我在我的视图中将它们称为列表

public ViewResult Index()

        {
            return View(db.ProjectDetails.ToList());
        }

和我的观点

@model IEnumerable<ProjectXYZ.Models.ProjectDetail>`


@{
    ViewBag.Title = "Index";
 }


<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>


<table>
     <tr>      
       <th>Author</th>

       <th>DetailTitle</th>

       <th>DetailDescription</th>

       <th>DateCreated</th>

       <th>DateUpdated</th>
       <th></th>
    </tr>

    @foreach (var item in Model) {
    <tr>
        <td>@Html.DisplayFor(modelItem => item.Author)</td>
        <td>@Html.DisplayFor(modelItem => item.DetailTitle)</td>
        <td>@Html.Raw(item.DetailDescription)</td>
        <td>@Html.DisplayFor(modelItem => item.DateCreated)</td>
        <td>@Html.DisplayFor(modelItem => item.DateUpdated)</td>

        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.details_ID }) |           
            @Html.ActionLink("Delete", "Delete", new { id=item.details_ID })
        </td>
    </tr>
  } 
</table>

问题:我只是想在我的视图中查看具有details_ID = 12的单个项目

我知道我必须在我的控制器上进行一些查询,但不知道如何......

我感谢任何帮助...... :)

3 个答案:

答案 0 :(得分:1)

你有

 @Html.ActionLink("Delete", "Delete", new { id=item.details_ID }) </td> </tr> }

超出foreach的范围,因此项目未定义

答案 1 :(得分:1)

要获得即时结果,您可以尝试:

return View(db.ProjectDetails.Where(p => p.details_ID == 12).ToList());

但是您应该在从数据库中获取数据时对其进行过滤。

答案 2 :(得分:0)

有工作的人。我在我的控制器上添加了这个查询:

{
var pd = 
       (from ProjectDetail in db.ProjectDetails
       where ProjectDetail.details_ID == 12
       select ProjectDetail
       )
       .ToList();
return View(pd);
}

- 还要感谢那些试图帮助我的人.. :)