Asp.net mvc DropDownListFor未选择现有值

Asp.net mvc DropDownListFor未选择现有值,asp.net-mvc,Asp.net Mvc,我有一个投递名单 @Html.DropDownListFor(model => f.MovieID, (SelectList)ViewBag.MoviesList, "--Select One--", htmlAttributes: new { @class = "form-control" }) 在控制器中,我将ViewBag.MovesList设置为SelectList。这是一个有效的选择列表。我试图在foreach循环中对多个项目重复使用相同的选择列表。但是,渲染时,下拉列表中未选

我有一个投递名单

@Html.DropDownListFor(model => f.MovieID, (SelectList)ViewBag.MoviesList, "--Select One--", htmlAttributes: new { @class = "form-control" })

在控制器中,我将ViewBag.MovesList设置为SelectList。这是一个有效的选择列表。我试图在foreach循环中对多个项目重复使用相同的选择列表。但是,渲染时,下拉列表中未选择现有的MovieID值。我见过许多类似的问题,但我在我的问题中没有看到它们的根本原因。此外,根据simimar的其他问题,这与其他问题略有不同,因为它位于一个循环中。

尝试以下方法:

@Html.DropDownListFor(model => model.MovieID, new SelectList((IEnumerable)ViewBag.MoviesList, "Value", "Text", Model.MovieID), new { @class = "form-control" })

其中Value是您希望传递给调用的操作的内容,Text是您希望在下拉列表中显示的内容。

应该是model=>model.MovieID还是f=>f.MovieID?可能是重复的,我将稍微调整一下这个答案,但我相信这应该可以做到。很遗憾,我每次都需要创建一个新的选择列表。我不能只在循环中设置属性并更改每个下拉列表的选定值