我在ASP.NET MVC5中使用以下代碼獲得以下異常。我使用內置的腳手架來生成我的視圖代碼(List),但它不起作用。例外是關於一個else塊,但它被拋在我的foreach的第二個元素,所以我完全不知道發生了什麼(這裏:@Html.DisplayFor(modelItem => item.Nem)
)。在腳手架生成的視圖代碼中的HttpParseException
我讀了關於這個異常的例子,但這些案例都是關於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>
}
EDIT:item.Nem是枚舉類型(具有兩個可能的值)。我使用的是DisplayTemplate顯示枚舉(視圖\共享\ 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)
你介意給我們看'Model',以便我們看看'Nem'屬性是什麼樣子的? – Svek
@Svek我編輯了帖子。 'Nem'屬性是一個枚舉類型,你可以在編輯過的文章中看到如何顯示枚舉。 – szkup
第二個代碼塊末尾的'}'在哪裏?看起來像是拋出的異常指向的問題! – Svek