내 사용자 개체에 대한 편집 /보기가 있지만 일부 필드 만 편집 가능하게하고 싶습니다.mvc modelbinding
나는 User 객체에 바인딩하기 위해 뷰를 설정했고, 편집 할 수있는 몇 개의 필드에는 Html.EditorFor()를 사용하고있다.
나는 포스트에 내 사용자 개체에서 발견 : I가() 컨트롤을 .EditorFor를 제공하는 필드 만이 실제로 어떤 데이터가[AcceptVerbs(HttpVerbs.Post)]
public ActionResult EditUser(Mynamespace.User user)
{ }
.
내가 편집 할 수 싶지 않은 필드 중 하나에 대해 Html.Hidden (Model.ID)을 사용했지만 모델 바인딩에서 생성 된 새 사용자 개체에서 null입니다.
그래서 내 질문 - 필드 몇 개만 편집 가능해야하는 곳에 어떻게 바인딩합니까?
감사합니다.
이 기술을 사용하면 다른 사람이 렌더링 된 다른 레코드를 쉽게 편집 할 수 있습니다. 이것은 응용 프로그램에서 괜찮을 수도 있지만 공개 응용 프로그램에서는 매우 위험합니다. –
예.로그인 한 사용자가 문제의 특정 레코드를 수정할 수 있도록하려면 보안이 필요합니다. 현재 사용자가 적절한 역할에 있는지 또는 업데이트중인 데이터의 소유자인지를 확인하기 위해 업데이트 방법에 사용자 지정 특성을 사용합니다. – tvanfosson
html.Hidden 헬퍼와 함께 사용할 수 없습니다 (m => m.ID). (이것은 EditorFor() 필드의 모델 데이터에 액세스하는 방법입니다. 그 이유는 무엇입니까? –