나는 ASP.net MVC 프로젝트에 일하고 난 그렇게처럼 내 모델의 boolean
에 대한 값을 제공하기 위해 CheckBoxFor
도우미 방법을 사용하고 있습니다 :ASP.net MVC 확인란은 문제
@Html.CheckBoxFor(m => m.ShouldSaveSearch, new { id="ShouldSaveSearch"})
확인란을하면 은 사용자가을 확인하면 컨트롤러가 모델을 수신 할 때 완전히 작동합니다. ShouldSaveSearch 속성은 true로 설정됩니다.
[HttpGet]
public ActionResult Search(int studentSearchId = -1)
{
return View(new StudentSearchModel(studentSearchId));
}
[HttpPost]
public ActionResult Search(StudentSearchModel m)
{
ViewBag.SearchResults = Hub.Web.Models.Student.StudentSearchModel.Search(m);
Hub.Web.Models.Student.StudentSearchModel.Save(m);
m.ShouldSaveSearch = false;
m.ShouldShareSearch = false;
m.SavedSearchName = "";
m.SavedSearchDescription = "";
return View(m);
}
나는 다음
false
에
ShouldSaveSearch
속성을 설정 한 후 원래 제출했던 것과 동일한 모델과 동일한 뷰를 돌려줍니다.
그러나보기가 렌더링되면이 속성의 확인란이 선택된 상태로 유지됩니다. 체크 박스가 선택을 취소하는 것을 막고있는 뭔가 빠졌습니까?
양식을 재설정 한 다음보기를 다시 표시하는 것처럼 보입니다. RedirectToAction ("Search")'<- POST 대신보기에 대한 GET 요청을 목표로합니다. –
id = "ShouldSaveSearch"가 필요하지 않습니다 - 그 mvc 자체에 의해 생성됩니다. 둘째, [HttpPost] 속성은 어디에 있습니까? – codingbiz