Html.DropDownList La valeur sélectionnée ne fonctionne pas (à l'aide de constructeur avec IEnumberable & lt; SelectListItem & gt;

J'ai un problème lorsque la valeur sélectionnée est pas de travail pour le Html.DropDownList méthode d'assistance. Voir ci-dessous:

C'est Mon Contrôleur:

public ActionResult Edit(int id = 0)
{
    NewsEvent item = GetItem(id);
    ViewBag.NewsItemId = new SelectList(ViewBag.NewsItemId.Items, "Id", "Name", item.NewsItemId);

    return View(item);
}

C'est mon point de Vue:

@Html.DropDownList("NewsItemId",ViewBag.NewsItemId as SelectList, string.Empty,
                           new { @class = "form-control" })

Cependant lorsque j'essaie de le ci-dessous en vue cela fonctionne:

@Html.DropDownList("NewsItemId", string.Empty)

Ci-dessous fonctionne aussi mais étant donné que le champ nom ne correspond pas au modèle, il ne sera pas le post correctement.

@Html.DropDownList("NewsItemIdDrop",ViewBag.NewsItemId as SelectList, string.Empty,
                           new { @class = "form-control" })

La raison que j'ai besoin d'utiliser la première option est de sorte que je peux ajouter l'attribut class de l'élément de contrôle.

Quelqu'un pourrait-il m'aider à comprendre ce que je fais de mal?

source d'informationauteur Paul Peat