#asp.net-mvc
#asp.net-mvc
Вопрос:
Я занимаюсь ASP.NET Проект MVC, и у меня возникли проблемы с созданием представления: оно не сохраняет данные в двух таблицах. Я создаю клиента с именем, электронной почтой, адресом, почтовым кодом городом.
Это мои два стола:
Clients
стол:
public int ClientID { get; set; } public string Name { get; set; } public string Email { get; set; } public string Address { get; set; } public Nullablelt;intgt; MailID { get; set; } public virtual PostOffices PostOffices { get; set; }
А потом у меня есть PostOffices
стол:
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] public PostOffices() { this.Clients = new HashSetlt;Clientsgt;(); } public int MailID { get; set; } public string Zipcode { get; set; } public string City { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public virtual ICollectionlt;Clientsgt; Clients { get; set; }
Я написал контроллер, который выглядит так:
[HttpPost] [ValidateAntiForgeryToken] public ActionResult Create([Bind(Include = "ClientID,Name,Email,Address,MailID")] Clients clients) { if (ModelState.IsValid) { db.Asiakkaat.Add(asiakkaat); db.SaveChanges(); return RedirectToAction("Index"); } return View(asiakkaat); }
В представлении он показывает все и позволяет мне вводить данные во все поля ввода, но он сохраняет только данные в Clients
таблице, такие как имя, адрес электронной почты, адрес, но ничего не сохраняет в PostOffices
таблице (имеется в виду почтовый индекс и город).
Что-то не так с моим контроллером? Или я должен каким-то образом добавить в класс клиента почтовый индекс город, а не идентификатор почты? Я не могу заставить его работать.
Я ценю вашу помощь!
Ответ №1:
Просто удалите [Привязку] и никогда не используйте этот атрибут в будущем
public ActionResult Create( Clients clients)
Комментарии:
1. Хорошо, что это сработало!! Спасибо!
2. Мы вам очень рады! Пожалуйста, не забудьте принять ответ, так как он был полезным. Об этом должны знать другие пользователи. Вы можете принять ответ, щелкнув галочку сбоку от ответа.
3. Спасибо за помощь! 🙂
4. Добро пожаловать снова!