我在ASP.NET MVC5中使用以下代码获得以下异常。我使用内置的脚手架来生成我的视图代码(List),它只是不起作用。例外情况是关于else块,但它被抛到我的 foreach 的第二个元素中,所以我完全不知道发生了什么(这里:@Html.DisplayFor(modelItem => item.Nem)
)。
我读到了这个例外,但案件真的是关于if-else的情况,所以我不能使用这些解决方案,但仍然不知道我做错了什么。
System.Web.HttpParseException :' else块缺少关闭 "}"字符。确保你有匹配的"}"所有人的性格 " {"这个区块内的字符,并没有"}" 字符被解释为标记。'
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Nev)
</td>
<td>
@Html.DisplayFor(modelItem => item.Nem)
</td>
<td>
@Html.DisplayFor(modelItem => item.SzuletesiIdo)
</td>
<td>
@Html.DisplayFor(modelItem => item.SzuletesiHely)
</td>
<td>
@Html.DisplayFor(modelItem => item.Taj)
</td>
<td>
@Html.DisplayFor(modelItem => item.Irsz)
</td>
<td>
@Html.DisplayFor(modelItem => item.Telepules)
</td>
<td>
@Html.DisplayFor(modelItem => item.Cim)
</td>
<td>
@Html.DisplayFor(modelItem => item.Email)
</td>
<td>
@Html.DisplayFor(modelItem => item.Mobil)
</td>
<td>
@Html.DisplayFor(modelItem => item.OtthoniTel)
</td>
<td>
@Html.DisplayFor(modelItem => item.AnyaNev)
</td>
<td>
@Html.DisplayFor(modelItem => item.AnyaMobil)
</td>
<td>
@Html.DisplayFor(modelItem => item.AnyaEmail)
</td>
<td>
@Html.DisplayFor(modelItem => item.ApaNev)
</td>
<td>
@Html.DisplayFor(modelItem => item.ApaMobil)
</td>
<td>
@Html.DisplayFor(modelItem => item.ApaEmail)
</td>
<td>
@Html.DisplayFor(modelItem => item.TanfolyamSorszam)
</td>
<td>
@Html.DisplayFor(modelItem => item.TanfolyamOsztaly)
</td>
<td>
@Html.DisplayFor(modelItem => item.Csoport)
</td>
<td>
@Html.DisplayFor(modelItem => item.BallagasEv)
</td>
<td>
@Html.DisplayFor(modelItem => item.KimaradtDatum)
</td>
<td>
@Html.DisplayFor(modelItem => item.PoloMeret)
</td>
<td>
@Html.DisplayFor(modelItem => item.Iskola)
</td>
<td>
@Html.DisplayFor(modelItem => item.BkkIgazolvany)
</td>
<td>
@Html.DisplayFor(modelItem => item.MavIgazolvany)
</td>
<td>
@Html.DisplayFor(modelItem => item.MakIgazolvany)
</td>
<td>
@Html.DisplayFor(modelItem => item.ProgramUtanHaza)
</td>
<td>
@Html.DisplayFor(modelItem => item.EgeszsegugyiTudnivalo)
</td>
<td>
@Html.DisplayFor(modelItem => item.Egyeb)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.GyerekId }) |
@Html.ActionLink("Details", "Details", new { id=item.GyerekId }) |
@Html.ActionLink("Delete", "Delete", new { id=item.GyerekId })
</td>
</tr>
}
编辑:item.Nem是一个枚举类型(有两个可能的值)。我使用DisplayTemplate显示枚举(Views \ Shared \ DisplayTemplates \ Enum.cshtml):
@model Enum
@if (EnumHelper.IsValidForEnumHelper(ViewData.ModelMetadata))
{
// Display Enum using same names (from [Display] attributes) as in editors
string displayName = null;
foreach (SelectListItem item in EnumHelper.GetSelectList(ViewData.ModelMetadata, (Enum)Model))
{
if (item.Selected)
{
displayName = item.Text ?? item.Value;
}
}
// Handle the unexpected case that nothing is selected
if (String.IsNullOrEmpty(displayName))
{
if (Model == null)
{
displayName = String.Empty;
}
else
{
displayName = Model.ToString();
}
}
@Html.DisplayTextFor(model => displayName)
}
else
{
// This Enum type is not supported. Fall back to the text.
@Html.DisplayTextFor(model => model)
答案 0 :(得分:1)
如果您查看第二个代码块(Views \ Shared \ DisplayTemplates \ Enum.cshtml):
您错过了
末尾的结束<DataGridComboBoxColumn x:Name="stockINOmschrijvingColumn" Header="Stockplaats IN" Width="auto" SelectedItemBinding="{Binding StockINOmschrijving, Mode=TwoWay}" ItemsSource="{Binding Source={StaticResource stockPlaatsINViewSource}}"/>
声明}
这正是异常告诉你的:)