2016-10-18 3 views
-2

MVC4 어플리케이션을 개발 중이고 페이징이 있습니다. 페이지에 하나의 체크 박스가 있습니다. 나는 모든 필드의 값을 보존하기 위해 페이징을 사용하고있다. 나는 모델 및 뷰백을 사용하여 텍스트 상자 및 드롭 다운 목록의 값을 보존합니다. 나는 가치를 보존하기 위해 체크 박스로 어려움을 찾고 있습니다.MVC4에서 체크 박스 체크 상태를 유지하는 방법

예를 들어, 다음과 같이 dropdownbox이며,

@Html.DropDownListFor(x => x.doc_typeid, Model.doctype_name, "Select", new { @class = "form-control" }) 

예를 들어, 다음과 같이 텍스트 상자가,

 @Html.TextBoxFor(x => x.employeeID, Model.employeeID, new { @id = "employeeID", @placeholder = "Employee ID", @class = "form-control text-input", @maxlength = 20 }) 

이 내 체크 박스입니다.

@for (int i = 0; i < Model.EmploymentType.Count; i++) 
{ 
     @Html.CheckBoxFor(m => m.EmploymentType[i].isChecked, new { id = "employmentType_" + i }) 
     @Html.HiddenFor(m => m.EmploymentType[i].checkBoxName) 
     @Html.DisplayFor(m => m.EmploymentType[i].checkBoxName) 
} 

여기 확인란의 선택 값을 유지하는 방법을 모르겠습니까? 어떤 도움을 주시면 감사하겠습니다.

답변

0

서버에 요청을 다시 보내면 확인란 자체가 유지되지 않습니다. 이를 유지하는 주된 방법은 항상 체크 상자가 서버에 다시 게시되는 양식으로되어 있는지 확인하는 것입니다. 양식이 다시 게시되면 Model.EmploymentType 컬렉션에서 양식을 가져옵니다.

조치를 수행하는 모든 것이 실제 POST가 아니라 GET임을주의해야합니다.

0

이것이 모델의 용도입니다.

양식, 드롭 다운 및 양식 제출 버튼이있는보기가 있다고 가정 해보십시오. 버튼을 누르면 모델 객체가 컨트롤러로 돌아옵니다. 이제 폼을 다시 표시하고 싶다면 기존 모델을 다시보기로 전달해야합니다.

그래서, 다시 게시하기 전에 작업이 작업을 수행 할 수 있습니다 : 게시 후

Return View("someView"); 

당신이

Return View("someView", model); 

모델에 그 변경하고자하는 첫 번째 후 컨트롤러에 돌아 왔을 것입니다 제출하십시오.

의미가 있습니까?

ViewBag 나 Session 또는 다른 것에 너무 많이 의존하지 마십시오. 이 모델은이 모든 것을 훌륭하게 처리 할 수 ​​있습니다.

관련 문제