문제

모델 바인딩을 사용하여 컨트롤러를 깨끗하게 보이게하고자합니다. 모델 바인딩을 사용하는 것이 얼마나 좋은지 확인할 수 있습니다.

public ActionResult Create(Person personToCreate)
{
    //Create person here
}

vs

public ActionResult Create(string firstName, string lastName, string address, string phoneNum, string email, string postalCode, string city, string province, string country)
{
    //Create person here
}

모델 바인딩을 수행 할 때는 올바른 이름이있는 양식을 사용할 수 있습니다. Html.TextBox("")

jQuery는 어떻습니까? 내가 할 때 어떻게 $.post(url, data, callback, dataType) 또는 a $.ajax(options) ~에게 전화 해 Create(Person personToCreate) 사람 객체가 제대로 채워 지는가?

도움이 되었습니까?

해결책

당신은 필요합니다 :

  1. 데이터의 속성 이름이 바운드 유형 이름의 인수/속성과 일치합니다.
  2. 결합 유형의 모든 불가능한 인수/속성에 항상 값을 제공하십시오.

2 번은 사람에 대한 구속력이 각 속성에 대한 개별 행동 인수를 지정하는 것과 다르게 행동 할 수있는 이유에서 큰 것입니다. "FOO"라는 불가능한 속성이있는 유형이있는 경우 양식에 FOO 항목을 공급하지 않으면 바인딩을 방지합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top