Asp.net mvc 预期a";{but find a";<;。块语句必须包含在{quot;和";}中;

Asp.net mvc 预期a";{but find a";<;。块语句必须包含在{quot;和";}中;,asp.net-mvc,razor,Asp.net Mvc,Razor,我在试图在视图(MVC应用程序)中使用Html.EditorForModel帮助程序时收到上述错误。以下是视图的代码: @model CodeFirst.Models.Person @{ ViewBag.Title = "CreatePerson"; } <h2>CreatePerson</h2> @using (Html.BeginForm()) { <fieldset> <legend>Create person

我在试图在视图(MVC应用程序)中使用Html.EditorForModel帮助程序时收到上述错误。以下是视图的代码:

@model CodeFirst.Models.Person

@{
   ViewBag.Title = "CreatePerson";
 }

<h2>CreatePerson</h2>

@using (Html.BeginForm())
{ 
  <fieldset>
      <legend>Create person entry</legend>
      @Html.EditorForModel()
  </fieldset>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>
@model CodeFirst.Models.Person
@{
ViewBag.Title=“CreatePerson”;
}
创造者
@使用(Html.BeginForm())
{ 
创建人员条目
@Html.EditorForModel()
}
@ActionLink(“返回列表”、“索引”)
我试图使用一个编辑器模板作为对象类型

@inherits System.Web.Mvc.WebViewPage
@if (Model == null)
    <span>@ViewData.ModelMetadata.NullDisplayText</span>
else
{
    <table cellpadding="0" cellspacing="0" class="editor-table">
      @foreach (var prop in ViewData
     .ModelMetadata
     .Properties
     .Where(pm => pm.ShowForDisplay && !ViewData.TemplateInfo.Visited(pm)))
      {
        <tr>
            <td>
                <div class="editor-label">
                    @prop.GetDisplayName()
                </div>
            </td>
            <td width="10px">@(prop.IsRequired ? "*" : "") </td>
            <td>
                <div class="editor-field">
                    <span>@Html.Editor(prop.PropertyName)</span>
                    <span>@Html.ValidationMessage(prop.PropertyName, "*")</span>
                </div>
            </td>
        </tr>
    }
  </table>
}
@继承System.Web.Mvc.WebViewPage
@if(Model==null)
@ViewData.ModelMetadata.NullDisplayText
其他的
{
@foreach(ViewData中的var prop
.模型元数据
.物业
.Where(pm=>pm.ShowForDisplay&!ViewData.TemplateInfo.visted(pm)))
{
@prop.GetDisplayName()
@(项目要求?*:“”)
@编辑器(prop.PropertyName)
@Html.ValidationMessage(prop.PropertyName,“*”)
}
}
我在一本MVC书籍中找到了这个示例。它为必填字段添加了一个“*”字符。
我在尝试访问视图时收到了提到的错误。如果您知道出现此错误的原因,请告诉我。

看起来像这样,如果
语句缺少大括号,即

@if (Model == null)
    <span>@ViewData.ModelMetadata.NullDisplayText</span>
else
@if(Model==null)
@ViewData.ModelMetadata.NullDisplayText
其他的
换成

@if (Model == null) {
    <span>@ViewData.ModelMetadata.NullDisplayText</span>
} else {
    ...
}
@if(Model==null){
@ViewData.ModelMetadata.NullDisplayText
}否则{
...
}

看起来像这样,如果
语句缺少大括号,即

@if (Model == null)
    <span>@ViewData.ModelMetadata.NullDisplayText</span>
else
@if(Model==null)
@ViewData.ModelMetadata.NullDisplayText
其他的
换成

@if (Model == null) {
    <span>@ViewData.ModelMetadata.NullDisplayText</span>
} else {
    ...
}
@if(Model==null){
@ViewData.ModelMetadata.NullDisplayText
}否则{
...
}

谢谢,这似乎修复了错误;但现在,我的模型似乎有问题,因为我在“创建”视图中看到的是:{};只有一对花括号显示;我使用代码优先的方法。这是我的模型:公共类Person{[Key]public int PersonID{get;set;}[必需]公共字符串名称{get;set;}公共日期时间?出生日期{get;set;}公共性别{get;set;}这是一个视图特有的问题,您可以使用调试器在视图中破译代码,查看它应该返回什么HTML。谢谢,这似乎已经修复了错误;但是现在,我的模型或其他东西似乎有问题,因为我在“创建”视图中只能看到以下内容:{};只有一对花括号显示;我使用代码优先的方法。这是我的模型:公共类Person{[Key]public int PersonID{get;set;}[Required]公共字符串名称{get;set;}public DateTime?DateOfBirth{get;set;}公共性别{get;set;}这是一个视图特有的问题,您可以使用调试器在视图中分解代码,查看它应该返回什么HTML。