2012-04-17 7 views
0

난 다음 드롭 다운리스트와 편집보기가 편집보기로 반환되지 않는다 :mvc3 selectList의 SelectedValue 표시하지만

@Html.DropDownListFor(model => model.Size, 
      new SelectList(Enumerable.Empty<SelectListItem>(), "Size", "Size"), 
      Model.Size, 
      new { id = "WoodSize" }) 
    @Html.ValidationMessageFor(model => model.Size) 

컨트롤러의 해당 부분이다

[HttpPost] 
    public ActionResult Edit(Part part) 
    { 
     try 
     { 
      if (ModelState.IsValid) 
      { 
       unitOfWork.PartRepository.Update(part); 
       unitOfWork.Save(); 
       return RedirectToAction("Index"); 
      } 
     } 
     catch (DataException) 
     { 
      //Log the error (add a variable name after DataException) 
      ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator."); 
     } 
     return View(part); 

SelectedValue이다을 가져 오기에 표시되지만 변경하지 않으면 게시물의 컨트롤러로 반환되지 않고 업데이트가 실패합니다. 값을 수동으로 선택하면 선택 항목이 반환되고 업데이트가 성공합니다. SelectValue는 실제로 아무것도 선택하지 않고 기본 텍스트 만 표시합니다.

나는 뭔가를 놓치고 있어야하지만, 나는 무엇을 잃어 버렸어.

답변

0

세 번째 매개 변수는 레이블 일 뿐이므로 예를 들어 "크기 선택"이라고 말하면 값이 포함되지 않습니다. 귀하의 인스턴스에서 Model.Size 값을 레이블로 사용하십시오.

모델 값이 옵션 목록의 값과 일치하면 사용 가능한 값으로 표시되고 제출할 때 컨트롤러에 값을 보냅니다.