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?

questionAnswers(7)

yourAnswerToTheQuestion