문제

내 모델에는 "output"의 속성이 있으며 내 양식은 "출력"이라는 텍스트 상자를 가지고 있으며, 모두 정확히 동일합니다. 양식을 작성하고 게시하면 리턴 뷰에는 예상치 못한 결과가 있습니다.

구체적으로, 게시 된 "출력"양식 변수를받은 다음 컨트롤러 메소드에서 모델에 바인딩 된 다음 모델을보기로 전달하기 전에이 변수를 다른 값으로 변경합니다.

게시 된 출력 속성은 "한 가지"입니다. 내 모델 속성은 "다른"으로 설정됩니다.

내 코드에 이것을 가지고 있습니다. <%= Html.TextBox("output") %>

이것으로 렌더링됩니다. <input id="output" name="output" type="text" value="one thing" />

그러나 디버깅 할 때 모델이 있습니다 하다 올바른 값 ( "다른")을 포함합니다.

컨트롤러에 지정된 값보다는 게시 된 값을 사용합니다. 왜 그리고 어떻게 고치는가?

도움이 되었습니까?

해결책

그렇게 강력하게 입력 한보기를 사용하고 있다고 가정합니다.

<%@ Page ... Inherits="System.Web.Mvc.ViewPage<...TestModel>" %>

그리고 당신을 대체 할 편집기가 있습니다

<%= Html.TextBox("output") %> 그렇게 좋아요 <%= Html.EditorFor(p=>p.output) %>

컨트롤러에서 할 수 있습니다

ModelState.SetModelValue("output", new ValueProviderResult("Some string", string.Empty, new CultureInfo("en-US")));

비슷한 질문이 생겼습니다 여기

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