2012-03-15 5 views
0

MVC 면도기를 사용하고 있으며 편집을 시도 할 때 ViewModel을 통해 전달했습니다. 필요한 정보가 모두 포함되어 있으므로 테스트 해 보았습니다. 당신이 볼 수 있듯이[HttpPost]가 'EditorFor'만 가져 오는 이유는 무엇입니까?

<div class="editor-label"> 
     @Html.LabelFor(model => model.CollectionId) 
    </div> 
    <div class="editor-field"> 
     @Html.DisplayFor(model => model.CollectionId) 
    </div> 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.BrandName) 
    </div> 
    <div class="editor-field"> 
     @Html.DisplayFor(model => model.BrandName) 
    </div> 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.Season) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.Season) 
     @Html.ValidationMessageFor(model => model.Season) 
    </div> 

, 난 단지 이것이 내가 변경하려는 모든대로 그들은 변경할 수있는 정보에 @Html.EditorFor를 사용하고 있습니다 :

여기 내보기입니다. 그러나 나는 편집자가 정확히 무엇을 편집하고 있는지 알 수 있도록 다른 정보를 보여줄 필요가 있다고 느낍니다.

내 질문에, 내가 실제로 @Html.EditorFor 정보를 전달하는 것과 동등한 효과를 얻을 수 있습니까?

+1

정보가 편집되지 않는 경우 양식을 제출할 때 왜 컨트롤러에 전달해야합니까? 아마도 데이터를 다시 게시하도록 허용 한 경우 악의적 인 사용자가 편집을 허용하지 않는 데이터를 편집하는 것을 막으려면 무엇이 좋을까요? – mdm

+0

정보의 한 필드만으로 편집하고자하는'콜렉션 '을 식별하기 어려운 비트입니까? – ediblecode

+0

그것은 매우 중요한 포인트입니다. 데이터를 편집 할 수 없어도 "나쁜 사용자"가 자신의 변경된 데이터를 전달할 수 있습니다. 기존 데이터와 대조하여 데이터를 확인하거나 필요한 개체 값을 업데이트하면됩니다. – ChrisB

답변

4

Html.HiddenFor를 사용하여 값을 컨트롤러로 다시 전달해야합니다.

+0

여전히 데이터를 표시 할 수 있습니까? – ediblecode

+0

아직 DisplayFor : yes를 사용하는 경우 – ChrisB

관련 문제