Избегайте печатать условия if в помощнике mvc3 - PullRequest
0 голосов
/ 12 декабря 2011

Я создал помощника для создания списка, моя проблема в том, что каждый раз, когда выражение оценивается, печатает значение с истиной или ложью в моем html. Как я могу избежать этого поведения ???

Вот мой помощник

@helper elementTipificacion(IEnumerable<prueba.Models.Tipificacion> datos){

foreach (var item in @datos)
{
    if (@item.Tipificacion1.Count > 0) <--- this the expression thay print's true or false
    {
        <li>
            <a href="#" id="tipificacion-@item.IdTipificacion">@item.Nombre</a>
            <ul>
                @elementTipificacion(@item.Tipificacion1)
                </ul>    
        </li>
    }
    else{
        <li>
            <a href="#" id="tipificacion-@item.IdTipificacion">@item.Nombre</a>
        </li>
    }

    @datos.ToList().Remove(@item);
}
}

а это вывод

enter image description here

1 Ответ

5 голосов
/ 12 декабря 2011

У вас слишком много @.Используйте @ только тогда, когда вы хотите вывести переменную на стороне сервера в HTML.Когда вы находитесь внутри оператора на стороне сервера, такого как foreach, если, ... не используйте @:

@helper elementTipificacion(IEnumerable<prueba.Models.Tipificacion> datos)
{
    foreach (var item in datos)
    {
        if (item.Tipificacion1.Count > 0)
        {
            <li>
                <a href="#" id="tipificacion-@item.IdTipificacion">
                    @item.Nombre
                </a>
                <ul>
                    @elementTipificacion(@item.Tipificacion1)
                </ul>    
            </li>
        }
        else
        {
            <li>
                <a href="#" id="tipificacion-@item.IdTipificacion">
                    @item.Nombre
                </a>
            </li>
        }

        datos.ToList().Remove(item); // <!-- not sure the usefulness of this line
        // The .ToList() extension method returns a new list everytime you call it
        // and you don't seem to be doing anything with the result of it, you don't even
        // assign it to a variable
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...