2016-07-18 1 views
-1

dropdownlist selectedted 키를 검색하는 데 문제가 있습니다.MVC 사용 안 함 DropDownlistValue가 선택된 키를 게시하지 않습니다.

ID로 등록을 찾고보기로 보내면 내 편집 이벤트입니다. 이 순간 모든 것이 좋습니다.

public ActionResult Edit(int id) 
{ 
    var model = _mapper.Mapear(_dispositivoService.ConsultarPorId(id)); 
    model.ListaProfissionaisAtivos = new SelectList(_profissionalService.ListarAtivos(), "ProfissionalID", "Nome", model.ProfissionalID);  
    return View(model); 
} 

여기 내 DropDownList입니다. 모든 것이 괜찮아. 모든 항목이 있으며 데이터베이스에 저장된 항목 ID가 선택됩니다.

@Html.DropDownList("ProfissionalID", Model.ListaProfissionaisAtivos, new { @class = "control-label col-md-2", @disabled = "disabled" }) 

그러나 포스트 폼 데이터 후, 모든 prperty이 fiilled하는

는 DropDownList로의 주요 인 중 하나를 excet : MVC를 사용할 컨트롤의 값을 게시하지 않는 것 같다

[HttpPost] 
[ValidateAntiForgeryToken] 
public ActionResult Edit(ProfissionalDispositivoViewModel model) 
{ 
    try 
    { 
     model.ListaProfissionaisAtivos = new SelectList(_profissionalService.ListarAtivos(), "ProfissionalID", "Nome", model.ProfissionalID); 
     if (ModelState.IsValid) 
     { 
      var dominio = _mapper.Mapear(model); 
      _dispositivoService.Atualizar(dominio); 
      return RedirectToAction("Index"); 
     } 
     return View(model); 
    } 
    catch (Exception ex) 
    { 
     ViewBag.Mensagem = ex.Message; 
     return View("Error"); 
    } 
} 

을 ProfissionalID. 내 드롭 다운 목록이 사용 중지되었습니다. 하지만 오류없이 chages를 저장하려면이 속성 값을 유지해야합니다. 어떻게하면이 필드를 편집 할 수 있습니까?

+1

model-view-controller 태그는 패턴에 대한 질문입니다. ASP.NET-MVC 구현을위한 특정 태그가 있습니다. –

+1

속성에 대한 숨겨진 입력을 포함합니다 (드롭 다운 목록 삭제 - 불필요한 html 렌더링 포인트가 아님). –

+1

또한 html이 asp.net mvc에만 해당하는 것이 아니라 어떻게 작동하는지 알 수 있습니다. 사용 불가능한 입력은 값을 서버에 다시 게시하지 않습니다. – Fran

답변

0

Hi 예 비활성화 된 제어 값이 게시되지 않습니다. 그래서 당신이 할 수있는 일은 버튼 클릭에 대한 컨트롤을 가능하게하는 것입니다. 그렇지 않으면 드롭 다운 목록을 바인딩하여 값을 숨겨진 필드에 바인딩 한 다음 드롭 다운 목록을 비활성화합니다. 이제 폼 포스트에서 숨겨진 필드에서 값을 얻을 수 있습니다.