2013-04-15 59 views
1
<% foreach (var car in Model.AvailableCars) 
    { %> 
     <label><%car.Text; %></label> 

    <% } %> 

上面的代碼引發錯誤簡單的foreach循環在MVC

只有轉讓,電話,遞增,遞減和新對象的表達式可以作爲一個聲明。

我知道我可以用html幫手來做,但爲什麼上面的代碼不工作?

回答

3
<label><%car.Text; %></label> 

一個很好的解釋應該讀

<label><%= car.Text; %></label> 
     ^

,或者您可以使用

<label><%: car.Text; %></label> 
     ^

它會自動爲您的價值HTML.Encode

+0

這工作:)。我將除非你有一個明確的理由不的HTMLEncode值顯示我總是推薦使用''<%:car.Text%>寫你的文字的頁面,因爲它讓我(9分鐘),一旦接受這個作爲答案 – Foo

+0

。或者在Razor的情況下,默認情況下HtmlEncodes全部文本的'@ car.Text'。你必須明確地使用'@ Html.Raw(car.Text)'而不是HtmlEncode對Razor進行編碼。 –