MVC - 如何在View中使用Count?

时间:2016-09-28 14:29:49

标签: c# asp.net-mvc entity-framework

我想在View中显示用户已经用Count写的总评论量。

我该怎么做?

<div>
    <dl class="dl-horizontal">      

        <dt>
           User:
        </dt>
        <dd>
            @Html.DisplayFor(model => model.UserName)
        </dd>

        <dt>
            Total reviews: 
        </dt>
        <dd>
            @*Count total comments in db*@
        </dd>

    </dl>
</div>

这就是CommentReview模型的样子。 UserIdUser表中获取fk值。

    public System.Guid Id { get; set; }
    public System.Guid UserId { get; set; }
    public System.Guid ReviewId { get; set; }
    public string Comment { get; set; }

2 个答案:

答案 0 :(得分:2)

您的视图不应该知道任何与数据库相关的事情(想想它,因为视图只做它擅长的东西:显示东西)。

因此,您可能希望将该代码移到另一个地方,以便安全地检索信息。你可以在控制器中执行此操作,如果你真的想(对于小的东西),这比视图更好。

请记住将该属性添加到模型中。

答案 1 :(得分:1)

更改视图模型以包含注释列表,并在视图中使用@Model.Count,或保持模型不变并在hte控制器操作中检索用户注释的计数,并将ViewBag属性设置为总数评论计数,例如:ViewBag.CommentsCount = /* gt it from DB*/

然后在您的视图中,使用@ViewBag.CommentsCount

输出