11
此代碼,在Razor視圖:如果有打開的`<table>`標籤,Razor`if`不會註冊關閉`}`?
if (true)
{
<table>
<tbody>
}
...
if (true)
{
</tbody>
</table>
}
不運行。它聲稱第一個if()
聲明中沒有關閉}
,我猜這是因爲<table>
標記。
有沒有辦法可以解決這個問題,有條件地插入我的<table>
標籤?
如果在一個if語句中包含整個「
我的代碼塊位於'foreach(){}'內,表格通過表值(表示實體類型)來分隔我的實體,而且我只希望每個類型都有一個表。 'if(){}'檢查已更改的表類型(因爲實體列表是按該類型排序的)。 – Kehlan
回答
嘗試用前面加上標籤
@:
:來源
2013-07-01 20:19:56
+1這實際上看起來比我的答案好。 – Fenton
這絕對是最好的解決方案。謝謝! – Kehlan
爲什麼剃鬚刀自動格式將結束標籤放在一個新的線上? –
嘗試通過封閉在一個@ {}語句如果塊,或者如果以@前面加上,使得其出現使用剃刀代碼塊作爲@if:
http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx
來源
2013-07-01 20:18:20 Haney
Razor確實希望匹配的結束標籤默認處於語句內部。
您可以使用特殊
<text>
標籤,以幫助剃刀出來:來源
2013-07-01 20:21:02 Fenton
剃刀仍然抱怨,因爲它承認'
我使用VS2012,MVC4,它適用於我。你用同樣的東西嗎?無論如何,你仍然會收到關於結束標籤的警告,這就是爲什麼我更喜歡D斯坦利的答案。 – Fenton
是的,我想這並不妨礙Razor識別'}',但正如你所說,仍然有警告。 – StriplingWarrior
您可以將它作爲字符串,那麼他們不會解析爲html和不符合語法地干擾:
來源
2013-07-01 20:22:32 Guffa
相關問題