Asp.net mvc 如何在MVC4中向Razor html文件中插入条件?

Asp.net mvc 如何在MVC4中向Razor html文件中插入条件?,asp.net-mvc,asp.net-mvc-4,razor,Asp.net Mvc,Asp.net Mvc 4,Razor,我试过这个 @{ if(item.typeElement=="Multi") <tr bgcolor="#FFCCCC"> else <tr> } @{ if(item.typeElement==“多”) 其他的 } 但它似乎不起作用 我该怎么做?那是因为和不是有效的C代码。它们是HTML 不要将整个内容包装在代码块中,只需使用内联Razor语法: @if (item.typeElement=="Multi") {

我试过这个

@{
    if(item.typeElement=="Multi")
       <tr bgcolor="#FFCCCC">
    else
    <tr>
    }
@{
if(item.typeElement==“多”)
其他的
}
但它似乎不起作用 我该怎么做?

那是因为
不是有效的C代码。它们是HTML

不要将整个内容包装在代码块中,只需使用内联Razor语法:

@if (item.typeElement=="Multi")
{
    <tr bgcolor="#FFCCCC">
}
else
{
    <tr>
}
@if(item.typeElement==“多”)
{
}
其他的
{
}

虽然David的答案看起来是正确的(不确定错误来自何处),但您可以使用三元运算符将问题收紧:

<tr @(item.typeElement=="Multi" ? " bgcolor='#FFCCCC'" : "")>


@MrIlias:定义“不起作用”。怎么了?它怎么会失败?请尝试理解我从这里看不到您的屏幕。解析器错误消息:foreach块缺少结束“}”字符。确保此块中的所有“{”字符都有匹配的“}”字符,并且“}”字符中没有一个被解释为标记。第40行:第41行:第42行:@foreach(模型中的var项){43行:if(item.typeElement==“Multi”)第44行:{@MrIlias:在你展示的代码中没有任何
foreach
。我不能保证你写的其他代码没有错误。这不是一根魔杖,它只是对你问的问题的一个回答。Intellisense for razor很可能会对此感到不安,并说标签没有关闭等等关于如何以这种方式比较字符串。