2014-10-30 1 views
0

ASP.Net MVC에서 응용 프로그램을 개발 중이며 컨트롤러에서 확인란의 값이 잘못되었습니다. 내가보기에 체크 박스를 표시하기위한 다음과 같은 코드를 사용하고 있습니다 : 모델 클래스에서Checkbox 값이 컨트롤러에 들어오지 않습니다. asp.net mvc

@Html.CheckBox("ENABLED", new { @class = "checkSwitch", @checked = "checked" }) 

그것은 관련이 속성은 다음과 같이이 확인란을 표시 여기 http://labs.lukepeters.me/iphone-checkbox-switch/에 jQuery 플러그인을 사용하고이

public Nullable<bool> ENABLED { get; set; } 

입니다 :

enter image description here

체크했을 때 생성 된 (html) 코드는 다음과 같습니다.

0 이 체크되지 않은 때

enter image description here

HTML 코드가 생성 (없음)이 같다 :

enter image description here

지금 문제는 내가이 체크 박스와 양식을 열 때 처음에 제대로 표시 체크 박스와 때를한다는 것입니다 Chekcbox를 한 번만 선택/선택 취소하면 모든 것이 정상적으로 작동합니다. 처음에 확인란이 선택되어 있는지 확인하고 선택하지 않은 경우 데이터를 저장 한 다음 선택되지 않은 (false) 반환합니다. 하지만 체크 박스가 처음에 선택되었다고 가정하고 체크를 해제하고, 다시 체크를하고, 이번에는 데이터를 저장합니다. 체크 박스를 체크하고, 체크하지 않은 채로 되돌립니다 (false). 또한 체크 박스가 초기에 선택되지 않았다고 가정하고, 체크 박스를 다시 선택하면이 시간 체크 박스가 선택 취소되었습니다 (false). 정말 이상한 것은 문제인지 모르겠다.

도움이 정말 도움이됩니다. 감사합니다 당신이 강력한 형식의보기와 모델을 사용하는 경우 .....

+0

이이 두 기능에서 css' – LcSalazar

+0

'관련이 없습니다 "true"로 설정된 체크 상자의 값이 있습니다. 스위치 자바 스크립트로 설정합니까? –

+0

POST에서 전송되는 값을 확인하십시오. –

답변

0

은, 당신의 면도기를 변경하려고 :

:

@model YourModel 
<!-- [...] Html Content [...] --> 
@Html.CheckBoxFor(m => m.ENABLED, new { @class = "checkSwitch", @checked = "checked" }) 

그런 다음, 컨트롤러 내부 작업은 다음과 같이해야한다

[HttpPost] 
public ActionResult PostMethod(YourModel model) 
{ 
    var isChecked = model.ENABLED; 
    // [...] 
} 

또는 당신이 다른 방법을 시도 할 수 있습니다 :

public ActionResult PostMethod(bool ENABLED) { /*[...]*/ } 
관련 문제