MVC 建議教學課程與文章

作者:Rick Anderson

使用者入門

使用資料

安全性

Azure

效能和偵錯

ASP.NET MVC DropDownListFor 搭配 SelectListItem

當使用 DropDownListFor 協助程式並向其傳遞從中填充它的 SelectListItem 集合時,DropdownListFor 在呼叫後會修改傳遞的集合。 DropdownListFor 會將SelectListItems的已選取屬性變更為下拉式清單中所選的項目。 這會導致無法預期的行為。

DropDownListFor、DropDownList、EnumDropDownListFor、ListBox 和 ListBoxFor 會更新 ViewData 中傳遞或找到的任何 IEnumerable<SelectListItem> 的 Selected (已選取) 屬性。

解決方法是為模型中的每個屬性建立單獨的可列舉物件,其中包含不同的 SelectListItem 實例。

如需進一步了解,請參閱 GetSelectListWithDefaultValue Modifies IEnumerable<SelectListItem> selectList