4

<span>Razor を使用して、モデルのブール値プロパティに基づいて、条件付きで一部のコンテンツを要素にラップしたいと考えています。私の推測では、Templated Razor Delegatesを使用する必要がありますが、それらを正しくするのは難しいと思います。

私のモデルは次のようになります。

public class Foo
{
    public bool IsBar { get; set; }
}

私の見解では、次のようなものを使用できるようにしたいと考えています。

<a href="/baz">
    @Html.WrapWith(Model.IsBar, "span", @This content may be wrapped, or not)
</a>

レンダリングする場所:

<!-- Model.IsBar == True -->
<a href="/baz">
    <span>This content may be wrapped, or not</span>
</a>

<!-- Model.IsBar == False-->
<a href="/baz">
    This content may be wrapped, or not
</a>
4

2 に答える 2

3

私は常にスパンでコンテンツをラップし、css にすべてのプレゼンテーション ロジックを処理させます (存在する場合)。

<a href="/baz">
    <span class="@(Model.IsBar ? "bar" : "")">This content may be wrapped, or not</span>
</a>

そしてCSSルールを適用します.bar

span.bar
{
   //some style rules
}
于 2012-05-21T14:56:29.713 に答える
2

Razorを使用してエディターのテンプレートビューでIfを実行できます

@if(Model.IsBar)
{
      <span>This content may be wrapped, or not</span>
}
else
{
       This content may be wrapped, or not
}

アップデート

または、カスタムヘルパーを実行できます

@helper Foo(bool bar)
{
     @if(bar)
     {
      <span>This content may be wrapped, or not</span>
     }
     else
     {
       This content may be wrapped, or not
     }

}
于 2012-05-21T14:45:22.833 に答える