EditorForModel在视图上不显示任何内容

时间:2014-09-11 16:38:17

标签: asp.net-mvc razor

模型是

public class AdminTicket
{
    public int Id;

    public string Title;

    public string Description;

    public DateTime CreationDate;
}

行动是

 public ViewResult EditTicket(int id)
    {
        return View(_ticketRepository.Tickets.FirstOrDefault(c => c.Id == id));
    }

(我检查过,一个动作给视图正确的模型) 视图是

@model TicketSystemMVC5.Models.AdminTicket
@using (Html.BeginForm("EditTicket", "Admin")) 
{ 
@Html.EditorFor(model=>model.Title)
@Html.EditorForModel()
<input type="submit" value="Save" /> 
@Html.ActionLink("Вернуться к списку", "Index") 
}

结果是带有标题编辑器,按钮和链接的表单。所有编辑器字段在哪里?

1 个答案:

答案 0 :(得分:1)

EditorForModel不喜欢字段,它只呈现属性 - 您可以非常愉快地使用“自动属性”:

public class AdminTicket {
  public int Id { get; set; }

  public string Title { get; set; }

  public string Description { get; set; }

  public DateTime CreationDate { get; set; }
}

然后你的输入字段会神奇地出现。

这是as documented(强调添加):

  

返回模型中每个属性的HTML输入元素。

为了测试,我创建了以下类:

public class AdminTicket {
  public int Id { get; set; }

  public string Title;

  public string Description;

  public DateTime CreationDate { get; set; }
}

EditorForModel导致:

Missing Fields from EditorForModel