2017-06-16 24 views
2

如果條件成立,那麼在鏈接中包裝某些元素的最佳方法是什麼?如果條件=真,用鏈接包裝內容?

因此,可以說,我有這個標記:

<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> 

這是在剃刀/ C#代碼。什麼是最好的方式,而不公佈標記?

+0

'@if(condition){}'? – dcg

+1

不會工作..它會抱怨有一個未打開的標籤() – brother

+0

@EdPlunkett你試過嗎?不起作用。 – mxmissile

回答

1

我覺得這是一種欺騙行爲,又臭又hack'ish但:

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

非常感興趣的替代品... – mxmissile

+0

同意,有點hack'ish ..但它沒有把戲:) Thx – brother

1

也許有一點比@ Html.Raw少的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?