2016-07-18 2 views
-1

У меня возникла проблема с возвратом выделенного ключа выпадающего списка.MVC Disabled DropDownlistValue не публиковать выбранный ключ

Это мое событие редактирования, когда я нахожу регистр по идентификатору и отправляю его на просмотр. В этот момент все в порядке.

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. Все в порядке. Все элементы есть, и выбран идентификатор элемента, который был сохранен в базе данных.

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

Но после того, как данные после формы, каждый prperty являются fiilled, excet тот, который является ключом к DropDownList: ProfissionalID

[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"); 
    } 
} 

Кажется, что MVC не отправляет значение контроля инвалидов. Мой раскрывающийся список отключен. Но мне нужно сохранить эту ценность для сохранения ошибок без ошибок. Как я могу это сделать и запретить пользователю редактировать это поле?

+1

Обратите внимание, что тег-контроллер-модель-образец предназначен для вопросов о шаблоне. Существует определенный тег для реализации ASP.NET-MVC. –

+1

Включите скрытый ввод для свойства (и удалите раскрывающийся список - нет ненужного рендеринга html - просто визуализируйте отображаемое имя, связанное с выбранным элементом) –

+1

Также поймите, как html работает и не специфичен для asp.net mvc. Отключенные входы никогда не отправляют свои значения обратно на сервер. – Fran

ответ

0

Hi Да отключенные контрольные значения не будут опубликованы. Итак, что вы можете сделать, это включить элементы управления при нажатии кнопки, а затем он будет работать. Или, если привязка выпадающего списка привязывает значение к некоторому скрытому полю, а затем отключить dropdownlist. Теперь на сообщении формы вы можете получить значение из скрытого поля.

Смежные вопросы