1

私は MVC を初めて使用し、既存のプロジェクトに取り組んでいます。順序を変更できるように、ドロップダウンに入力しようとしているだけです。ページが読み込まれると、ドロップダウンで選択された値セットが必要になります。

ビューのモデルにはいくつかのプロパティしかなく、ページにデータを生成するために反復処理される型のリストがあります。これらのアイテムには、displayorder プロパティが含まれています

私の質問は注文に関するものです。このビューは、ページ上のレコードの表示順序を変更するために使用されます。そのため、タイプに基づいて最大の表示順序が何であるかを確認するチェックがあり、selectlistitmes がドロップダウンに追加されます。ドロップダウンは正常に塗りつぶされますが、選択したプロパティも設定されていることがわかりますが、これはページがレンダリングされるときに機能しません。私は常に最初のアイテムを表示します。ここに問題があると思います: <%=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>
4

2 に答える 2

0

この部分をコントローラーに配置し、 formCollection.DisplayOrder を使用してドロップダウンリストの選択項目を設定する必要があると思います

<%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

%>
于 2013-02-13T20:55:40.427 に答える
0

ページの読み込み時にドロップダウン値を保持するために使用しているプロパティを設定する必要があります。

于 2013-02-13T20:33:57.760 に答える