我是 MVC 的新手,正在处理一个已经存在的项目。我只是想填写一个下拉列表以允许更改订单。当页面加载时,我需要设置下拉选择值。
视图上的模型只有几个属性,然后是一个类型列表,通过迭代生成页面上的数据。这些项目包含 displayorder 属性
我的问题是关于订单的。此视图用于更改页面上记录的显示顺序。所以有一个检查来查看基于类型的最大显示顺序,然后将 selectlistitmes 添加到下拉列表中。下拉列表填充得很好,但您可以看到 selected 属性也已设置,但是在呈现页面时这不起作用。我总是显示第一个项目。我认为问题出在这里: <%=Html.DropDownListFor(Function(x) x.Location, Options)%>
我想我想要的是 x.DisplayOrder (项目包含 displayorder 属性),但这不是模型的一部分。它是我们正在迭代的列表的一部分。
任何帮助,将不胜感激。
<td>
<%Dim Options As New List(Of SelectListItem)%>
<%For intDisplayOrder As Integer = 1 To Model.ReviewTypes(item.ReviewType)
Dim newSelectedItem As New SelectListItem
newSelectedItem.Text = intDisplayOrder.ToString()
newSelectedItem.Value = intDisplayOrder.ToString()
If intDisplayOrder = item.DisplayOrder Then
newSelectedItem.Selected = True
End If
Options.Add(newSelectedItem)
Next
%>
<%=Html.DropDownListFor(Function(x) x.Location, Options)%>
</td>