MVC3视图中的条件逻辑是一种好的做法吗?

Onl*_*ere 3 .net c# view asp.net-mvc-3

这是一个示例视图,我用它来输出Category我的数据库中的每一个.这是一个递归关系,因此Category可以有一个List<Category>子类别.

@model DSS.WebUI.Models.CategoriaModel

<div class="categories">
    <h3>
        @if (Model.Subcategorias.Count > 0)
        {
            <img src="http://i.imgur.com/t5UXT.gif" />   
            <a href="#">@Model.Nombre</a>
            <p class="subtext">@Model.Encabezado</p>
        }
        else
        {
            <a class="nochild" href="#">@Model.Nombre</a>
            <p class="subtext nochild">@Model.Encabezado</p>
        }
    </h3>
    <div>
        <ul>
            @Html.DisplayFor(x => x.Subcategorias)
        </ul>
    </div>    
</div>
Run Code Online (Sandbox Code Playgroud)

条件逻辑是否像这样犹太洁食?或者它是我应该避免的代码气味以及如何?

Dar*_*rov 7

这种条件逻辑对我来说很好.根据视图模型中的子类别数,您将生成一个或另一个html片段.在您的应用程序的许多地方使用相同的输出重复这个完全相同的条件会有什么不好.在这种情况下,您可以将其外部化为部分或编写自定义HTML帮助程序.