Nizamulmulk Ответов: 0

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

0 Ответов