2010-04-06 3 views
9

asp.net mvc 2 및 html.textboxfor 도우미에 문제가 있습니다. 난 형태로 추적 코드를 사용 :Asp.NET MVC Html.TextBox 새로 고침 문제

<%= Html.TextBoxFor(model => model.Zip, new { @class = "txt", id = "zip", tabindex = 1 })%> 

사용자가 양식을 보낼 때, 내가 우편 번호를 확인, 우편 우리가 수정 된 우편 번호를 설정 무효 인 경우에. 내 모델에 수정 된 zip이 있고 asp에서 생성 된 html 코드에 이전 zip 값이 들어 있습니다.

샘플 : 사용자 쓰기 우편 : 만 12345

문제가 무엇을 볼 수있는 GUI에, 123,456 : 12,346 내 모델 새로운 우편 번호 포함 : 12345 개 내 검증 클래스에 TEH 우편 번호를 수정?

답변

7

텍스트 상자를 생성 할 때 도우미가 항상 POST 된 값을 사용하기 때문에 컨트롤러 작업의 값을 수정할 수 없습니다. 이것은 의도적으로 설계된 동작입니다 당신이 그것을 해결하려는 경우 당신은 당신의 자신의 도우미를 작성하거나 수동으로 텍스트 상자를 생성해야합니다 :

<input 
    type="text" 
    name="Zip" 
    value="<%= Html.Encode(Model.Zip) %>" 
    class="txt" 
    id="zip" 
    tabindex="1" 
/> 
2

지우기(), 개체를 업데이트 한 다음 반환 ModelState.Clear를 사용하여 modelstate.

+0

이 해결 방법은 저에게 적합합니다. 부작용이 있습니까? – chenz