Jor*_*rge 0 c# razor asp.net-mvc-3
我创建了一个帮助器来构建一个列表我的问题就是每次if表达式它会在我的html中打印出true或false的值.我怎么能避免这种行为?
这是我的帮手
@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);
}
}
Run Code Online (Sandbox Code Playgroud)
而这个输出
你有太多了@
.使用@
只有当你想输出一个服务器端变量的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
}
}
Run Code Online (Sandbox Code Playgroud)