여러 개의 탭이있는 양식이 있습니다. 나는이 같은 페이지에있는 모든 양식을 제출 마스터 저장 버튼을 가지고MVC 앱에서 여러 양식을 제출할 때 액션이 반환해야하는 항목은 무엇입니까?
<% Using Html.BeginForm("Save", "FirstSection")%>
: 각 탭은 다음과 같이 정의 자체 <form>
을 가지고
$("form").each(function() { $(this).submit(); });
문제가 있다는 것입니다 I 돈 't은 각 저장 작업을 반환해야합니다 알고 :
<AcceptVerbs(HttpVerbs.Post)> _
Function Save(ByVal data As MyTable) As ActionResult
SaveTheDataHere()
Return View()
End Function
을 나는 내가이 저장 조치에 대한 상응하는 "수"가 없기 때문에 실패 할 것 Return View()
를 사용하는 경우. 포스트가 정말로하고 싶은 것은 아무 것도 없습니다. 단지 데이터를 저장하고 완료하십시오.
더 나은 반환 값이 있습니까?
문제는 모든 탭을 항상로드하면 모든 작업이 느려지므로 탭을 볼 때만 탭을로드한다는 것입니다. 하나의 큰 양식이있는 경우 모든 필드가로드되지 않으므로 내 저장은 언로드 된 필드를 비워야한다고 생각합니다. – gfrizzle
그런 경우 저장 작업은 빈 필드와 양식에 존재하지 않는 필드의 차이를보기에 충분히 똑똑해야합니다. MVC의 기본 모델 바인더는 컨트롤러 UpdateModel (모델)을 호출 할 때 요청에있는 필드 만 업데이트됩니다. 기본적으로 첫 번째 탭만로드 한 다음 사용자가 새 탭을 클릭 할 때마다 양식을 아약스로 확장하고 하나의 제출 버튼으로 전체 양식을 게시 할 수 있습니다. 모델 바인더는 기존 필드 만 업데이트합니다. –
PanJanek