컨트롤러 메서드 호출 중에는 어떻게됩니까? 컨트롤러의 모든 PUBLIC 메서드에 대해 MVC가 ModelState를 평가/설정합니까? 메서드 매개 변수에서 모든 클래스를 테스트합니까 ??MVC 컨트롤러 작업 및 ModelState.IsValid 발생합니다.
public ActionResult Create(Entity myEntity, AnotherEntity, myEntity2)
{
if (ModelState.IsValid)
{
내가 ActionResult 대 INT의 반환 한 경우 :
public int Create(Entity myEntity, AnotherEntity, myEntity2)
{
if (ModelState.IsValid)
{
여전히 평가 클래스와 ModelState있을 것를?
모델 바인더라고 알고 있습니다. 내가 모르는 것은 모델 바인더가 호출되는 시점과 호출되는 시점입니다. 메서드가 호출 될 때 모델 바인더가 컨트롤러의 모든 public 메서드에 대해 자동으로 호출됩니다. 아니면 ActionResults에 대해서만이 작업을 수행합니까? 모델 바인더는 메서드 매개 변수의 모든 클래스를보고 모든 오류를 ModelState에 합산합니다. – user965445
작업이 호출되기 전에 모델 바인더가 호출됩니다. 요청에서 모든 값을 검색하고 모델을 인스턴스화하고 값을 구문 분석하여 특성을 설정하는 것은 모델 바인더의 책임입니다. 이 작업이 모두 끝나면 컨트롤러 작업이 호출되어 모델 바인더로 만든 모델을 전달합니다. –