我有以下POCO课程:
public class Location { public int LocationId { get; set; } public string Name { get; set; } public string Street { get; set; } public string City { get; set; } public string State { get; set; } public string ZipCode { get; set; } public string Country { get; set; } public float? Latitude { get; set; } public float? Longitude { get; set; } public string PhoneNumber { get; set; } public string EmailAddress { get; set; } public string Website { get; set; } public virtual ICollection<Program> Programs { get; set; } public virtual ICollection<PlayerType> PlayerTypes { get; set; } } public class PlayerType { public int PlayerTypeId { get; set; } public string Name { get; set; } public int SortOrder { get; set; } public bool IsActive { get; set; } public virtual ICollection<Location> Locations { get; set; } }
和视图模型类
public class Locationviewmodel { public Location Location { get; set; } public IList<PlayerType> SelectPlayerTypes { get; set; } public Locationviewmodel() { Location = new Location(); } }
在我的创建表单中,我已将模型定义为
@model Locator.Models.Locationviewmodel
并有以下字段:
div class="editor-label"> @Html.LabelFor(model => model.Location.Name) </div> <div class="editor-field"> @Html.EditorFor(model => model.Location.Name) @Html.ValidationMessageFor(model => model.Location.Name) </div>
在我的控制器中处理我的POST
[HttpPost] public ActionResult Create(Locationviewmodel location) { if (ModelState.IsValid) { locationRepository.InsertOrUpdate(location.Location); locationRepository.Save(); return RedirectToAction("Index"); } location.SelectPlayerTypes = golferTypeRepository.All.Where(p => p.IsActive).ToList(); return View(location); }
问题是我有一个Location对象,但没有任何属性设置为在表单中输入的值.
我在这里做错了吗?
谢谢