在我的代碼:剃刀的RenderPartial例外 - 預計「}」
@foreach (var post in Model.Posts)
{
Html.RenderPartial("ShowPostPartial", post);
}
我對的RenderPartial線的excepion
錯誤CS1513:}預期
我在做什麼錯?
在我的代碼:剃刀的RenderPartial例外 - 預計「}」
@foreach (var post in Model.Posts)
{
Html.RenderPartial("ShowPostPartial", post);
}
我對的RenderPartial線的excepion
錯誤CS1513:}預期
我在做什麼錯?
我已經得到了Razor的這個問題,我不確定它是否是解析器中的錯誤或者是什麼,但我解決它的方式是分解:
@using(Html.BeginForm()) {
<h1>Example</h1>
@foreach (var post in Model.Posts)
{
Html.RenderPartial("ShowPostPartial", post);
}
}
到:
@{ Html.BeginForm(); }
<h1>Example</h1>
@foreach (var post in Model.Posts)
{
Html.RenderPartial("ShowPostPartial", post);
}
@{ Html.EndForm(); }
我不好。 我在部分視圖中出現錯誤。 我在htmlAttributes中寫了'class'而不是'@class'。
爲了完整起見,這裏是導致此的另一種方式:
@if(condition)
{
<input type="hidden" value="@value">
}
的問題是沒有結束的元素使得它沒有足夠的內容是一個html塊明顯的(但我們不是總是做xhtml,對吧?)。
在這種情況下,你可以使用:
@if(condition)
{
@:<input type="hidden" value="@value">
}
或
@if(condition)
{
<text><input type="hidden" value="@value"></text>
}
在這種情況下,我們使用'
這是基本相同的答案,馬克Gravell了,但我覺得這個是一個容易犯的錯誤,如果你有一個更大的看法: 檢查html標籤,看看他們開始和結束,並注意到之間的剃刀語法,這是錯誤的:
@using (Html.BeginForm())
{
<div class="divClass">
@Html.DisplayFor(c => c.SomeProperty)
}
</div>
這是正確的:
@using (Html.BeginForm())
{
<div class="divClass">
@Html.DisplayFor(c => c.SomeProperty)
</div>
}
同樣,幾乎相同的約未閉合輸入元素以前的職位,但只是要小心,我已經放在div的錯誤很多次更改視圖時。
這解決了這個問題。 – SolidSnake4444 2014-01-21 17:47:41
這段代碼是否在另一個'{...}'對中?那是我遇到這個問題的時候。我認爲在'foreach'之前不要使用@來修正它。 – CodesInChaos 2011-03-20 15:59:22