Razor renderpartial исключение - ожидается '} " - PullRequest
4 голосов
/ 20 марта 2011

В моем коде:

@foreach (var post in Model.Posts)
{
    Html.RenderPartial("ShowPostPartial", post);
}

У меня есть исключение на линии RenderPartial.

ошибка CS1513:} ожидается.

Что я делаю не так?

Ответы [ 4 ]

2 голосов
/ 20 июля 2012

Это в основном тот же ответ, который дал Марк Грэвелл, но я думаю, что этот вопрос легко сделать, если у вас более широкое представление: Проверьте 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 при смене представления.

2 голосов
/ 20 марта 2011

Для полноты, вот еще один способ вызвать это:

@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>
}
0 голосов
/ 20 марта 2011

МОЙ плохой.У меня есть ошибка в частичном представлении.Я написал «класс» вместо «@class» в htmlAttributes.

0 голосов
/ 20 марта 2011

Я получил эту проблему с 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(); }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...