模型是
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")
}
结果是带有标题编辑器,按钮和链接的表单。所有编辑器字段在哪里?
答案 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
导致: