2011-07-15 158 views
0

正確顯示的文字我使用ASP.NET MVC 3,我有我的Razor視圖下面的一段代碼:使用Razor視圖引擎

@foreach(var c in Model.ChildCategories) { 
    <div>@c.Name<br></div> 
} 

它運作良好。爲什麼當我拿走女神div標籤將不起作用?這是我的嘗試:

@foreach(var c in Model.ChildCategories) { 
    @c.Name<br> 
} 

,因爲我使用的是嚴格的文檔類型,我不打烊休息標籤:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

當我想要查看的觀點是,我得到的錯誤:

The foreach block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup. 

我不希望有內部div標籤,因爲我不想在我的標記中使用不必要的標籤。

我也有以下的代碼:

@if (Model.ParentCategory != null) 
{ 
    @Model.ParentCategory.Name 
} 
else 
{ 
    @:N/A 
} 

我想顯示的父類別的名稱,或者只是純文本N/A。我做得對嗎?如果在if (...) {之前或之後有花括號,那麼更好嗎?

回答

1

退房菲爾哈克的post razor on syntax

@foreach(var c in Model.ChildCategories) 
{ 
    <text> 
    @c.Name<br /> 
    </text> 
} 

而是採用<br />但考慮使用<p>

@foreach(var c in Model.ChildCategories) 
{ 
    <p> 
    @c.Name 
    </p> 
} 

最後一位與@:N/A是正確的。

+0

你的第一個,如果不工作。我得到錯誤;預期 –

0

試試這個〜

@foreach(var c in Model.ChildCategories) { 
    <div>@{@c.Name}<br></div> 
}