Valor selecionado Html.DropDownList não está funcionando (usando construtor com IEnumberable <SelectListItem>
Eu tenho um problema em que o valor selecionado não está funcionando para o método auxiliar Html.DropDownList. Ver abaixo:
Este é o meu controlador:
public ActionResult Edit(int id = 0)
{
NewsEvent item = GetItem(id);
ViewBag.NewsItemId = new SelectList(ViewBag.NewsItemId.Items, "Id", "Name", item.NewsItemId);
return View(item);
}
Esta é minha opinião:
@Html.DropDownList("NewsItemId",ViewBag.NewsItemId as SelectList, string.Empty,
new { @class = "form-control" })
No entanto, quando eu tento o abaixo em vista, funciona:
@Html.DropDownList("NewsItemId", string.Empty)
O abaixo também funciona, mas como o nome do campo não corresponde ao modelo, ele não será enviado corretamente.
@Html.DropDownList("NewsItemIdDrop",ViewBag.NewsItemId as SelectList, string.Empty,
new { @class = "form-control" })
A razão pela qual eu preciso usar a primeira opção é para que eu possa adicionar o atributo de classe ao controle.
Alguém poderia me ajudar a entender o que estou fazendo de errado?