如何在剃刀视图中的html标记中使用C#

本文关键字:html 剃刀 视图 | 更新日期: 2023-09-27 18:26:29

我试图使用内联css和C#条件隐藏一个html行,但语法不正确。(我知道如何使用jQuery隐藏行,但我想使用内联css)

我的尝试:<tr @{if (Model.Loan.IsValid != "Y") {@:style="display:None;"}}>

另一个尝试:<tr @(Model.Loan.IsValid != "Y"? "style=display: None;":"")>显示为<tr style="display:" none;="">

如何在剃刀视图中的html标记中使用C#

您可以通过这种方式进行尝试。使用C#代码中的@:中断,这样您就可以在C#语句的中间开始使用HTML。

<tr 
    @if(Model.Loan.IsValid != "Y") 
    {
        @:style="display:none;"
    }
>
<tr>

怎么样:

<tr @(Html.Raw(Model.Loan.IsValid != "Y"? "style='"display: None;'"":""))>

编辑:我建议使用类而不是样式,但是

在一行中实现这一点的一种方法是使用如下变量:

<tr style="display: @{ var display = (Model.Loan.IsValid != "Y") ? "none" : ""; @display; }">  
</tr>

Rei。

我相信您正在尝试执行以下操作:

@Html.DisplayFor(content => 
      Model.Loan.IsValid != "Y" ? "<tr style="display: none;"></tr>" : "<tr></tr>");

如果你试图用一句话来简明扼要。在这种情况下,三元函数将是理想的。我使用了DisplayFor,但根据您的模型,如果没有更多信息,它可能并不理想。Raw可能更好。