ドロップダウンリストの選択キーを取得する際に問題があります。MVC無効DropDownlistValueが選択したキーを投稿していません
IDで登録してViewに送信すると、私の編集イベントが表示されます。 現時点では問題ありません。
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です。すべてOK。すべてのアイテムがあり、データベースに保存されているアイテムIDが選択されています。
@Html.DropDownList("ProfissionalID", Model.ListaProfissionaisAtivos, new { @class = "control-label col-md-2", @disabled = "disabled" })
しかし、ポストフォームデータの後に、すべてのprpertyがfiilledされ、DropDownListコントロールの主なものをexcet: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が無効のコントロールの値を投稿していないようです。私のドロップダウンリストは無効になっています。しかし、私はエラーなしでchagesを保存するためにこのプロパティの値を保持する必要があります。これを行うにはどうしたらいいですか?
model-view-controllerタグは、パターンに関する質問用です。 ASP.NET-MVCの実装には特定のタグがあります。 –
プロパティの隠し入力を含めます(ドロップダウンリストを削除します - 不要なhtmlをレンダリングする点はありません)。 –
これはhtmlがどのように動作し、asp.net mvcに固有ではないことも認識しています。無効化された入力は、その値をサーバーに戻すことはありません。 – Fran