2011-09-02 8 views
0

MVC3 애플리케이션에서 JavaScript로 조작 할 수 있도록 Json으로 인코딩 한 뷰 모델이 있습니다.자바에서 필드를 명시 적으로 호출하지 않고 모델 필드를 업데이트하는 방법

var [email protected](Json.Encode(Model)); 

현재 model.Name는이 값 "이름":

그래서 나는 다음과 같은 코드가 있다고 가정 해 보자.

지금 내가하고 싶은 것은 "값"이라는 필드가있는 또 다른 JavaScript 객체 "obj"를 만드는 것입니다. obj.Value를 변경하면 model.Name도 변경됩니다. 내가 obj.Value의 값을 변경하는 경우, 그것은 또한 model.Name을 변경하지 않습니다, 그래서 지금

var obj=new Object(); 
obj.Value=model.Name; 

:

그래서 내가 좋아하는 뭔가를 원한다. 나는 그 일이 일어나기를 원하며 JavaScript로 어떻게 할 수 있을지 확신하지 못합니다. 어떻게 구현해야합니까?

답변

0

그냥 왜 숨겨진 입력 필드에 이름을 넣지 마십시오. 일반적인 방식으로 선택한 JavaScript로 값을 변경하십시오. 그런 다음 양식이 다시 게시되면 컨트롤러 작업의 이름 값에 바인딩하고 모델 이름 서버 측을 설정할 수 있습니다.

당신이 시도하는 것은 불필요하게 복잡합니다.

실제로 작동하게하려면 제출 된 JSON 문자열 전체를 숨겨진 입력 필드에 넣으십시오. 그런 다음 컨트롤러 액션에서 다시 JSON을 문자열로 바인딩하고 서버 측을 deserialize하여 모델을 재구성합니다.

관련 문제