Tryupdatemodel dosent работает так, как и ожидалось.
Всем Привет,
Это мой первый запрос по кодовому проекту, и я надеюсь получить хороший ответ. Сценарий такой.У меня есть проект класса модели с такими свойствами, как ProjectID, Name, Client и т. д. Клиент - это еще один класс модели, на который я ссылался в классе Project.
В методе Create Project в контроллере проекта я привязываю клиентов к выпадающему списку, то есть идентификатору клиента и имени клиента. В методе Post у меня есть следующий код
[HttpPost] [ActionName("Create")] public ActionResult Create_Post() { Project project = new Project(); project.Client = new Client(); TryUpdateModel(project); if (ModelState.IsValid)//==> returns false { balProject().addeditproject(project); return RedirectToAction("Index"); } else { List<client> clients = balClient().getclientfordropdown(); ViewBag.Clients = clients; return View(); } }
Когда выполняется блок "если"
ModelState.IsValid
возвращает false, несмотря на то, что все члены инстанцируются, за исключением класса client, были в justs ClientID is instanciated. Не в этом ли причина ModelState.IsValid
быть фальшивым? Я не могу создать экземпляр всех членов клиентского класса здесь. Здесь есть какая-нибудь работа?
Что я уже пробовал:
Я бы заменил на клиента свойства в классе проект с ИД клиента. Однако предыдущий подход также должен работать так же, как и раньше. ASP.NET. Что я упустил?
F-ES Sitecore
Посмотрите на ошибки коллекции ModelState, и она расскажет вам, почему это состояние недействительно
https://stackoverflow.com/questions/573302/how-do-i-get-the-collection-of-model-state-errors-in-asp-net-mvc