원래 어떤 이유로 View에 전송 된 Id를 유지하기 위해 숨겨진 필드를 사용해야했습니다 (ViewModel이이 ID로 내보기로 전송 됨). 나는 유효한 ID 값을 보내고 있다는 것을 안다 ... 그것은 문제가 아니다.PostBack에서 값을 잃을
예를 들어 CarId가있는 ViewModel을 사용하고 있습니다. 런타임 동안, 나는 그것을 확인하고 유효한 정수,이보기로 보낸 컨트롤러의 동작에서 전달한 것과 동일한 정수입니다.
면도기를 통해 뷰의 마크 업에서 Id를 사용하거나 참조하지 않기 때문에 다시 게시하는 동안 문제가 지속되지 않는다고 생각합니다. 마크 업에서 해당 필드를 참조하면 포스트 백이 포함/유지됩니다.
전체 모델 자체를 유지하도록 지정하는 레이아웃에도이 컨트롤러가 관련 업데이트 컨트롤러에서 업데이트 작업을 수행 할 때 해당 ID를 사용하지 않을 때이 ID가 유지되지 않습니다.
이 게시물 다시, 내가있을 때@using (Html.BeginForm(null, null, FormMethod.Post, new { @model = Model }))
그래서이 추가 그렇지 않으면 이드 내가 펀더멘털 여기에 누락 알고 뷰 모델
@Html.HiddenFor(model => model.CarId)
사람의 다른 값으로 유지되지 않습니다?
예, 숨김을 사용해야합니다. 악의적 인 사용자가 파이어 버그 같은 것을 통해 그 값을 변경할 수 있으므로, 그 필드의 내용을 서버 측에서 두 배로 늘려야합니다 (예 : ID가 현재 사용자의 유효한 개체 중 하나인지 확인). – Romias