如果condition = true,用链接换行内容?

时间:2017-06-16 13:46:12

标签: c# asp.net razor

如果条件为真,将一些元素包装在链接中的最佳方法是什么?

所以,让我说我有这个标记:

<div>
   <h1>Header</h1>
   <span>Subheader</span>
   <p>Lorem ipsum</p>
</div>

如果我有一个条件== true,那么整个上面的标记应该包含在一个链接中,如下所示:

<a href="#">
    <div>
       <h1>Header</h1>
       <span>Subheader</span>
       <p>Lorem ipsum</p>
    </div>
</a>

这是Razor / C#代码。没有公开标记,最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

我觉得这是作弊,有臭味和黑客但是:

@if (condition) { @Html.Raw("<a href='#'>") }
    <div>
        <h1>Header</h1>
        <span>Subheader</span>
        <p>Lorem ipsum</p>
    </div>
@if (condition) { @Html.Raw("</a>") }

答案 1 :(得分:1)

可能比@ Html.Raw(&#34; ......&#34;)

少一点点hackish
@if (condition) { 
    @:<a href="#"> 
}
<div>
    <h1>Header</h1>
    <span>Subheader</span>
    <p>Lorem ipsum</p>
</div>
@if (condition) { 
    @:</a>
}

相关:What does @: mean in ASP.net MVC Razor?