1

アイテムのサイズを表現しようとしています。複数のサプライヤーがあり、サイズとサプライヤーの値を格納するために使用するテーブルは、同じ値であるがサプライヤーが異なる複数のサイズがあることを意味します。

次のドロップダウン リストにデータを入力する必要がありますが、S、M、L などの重複を含めることはできません。

@Html.DropDownListFor(
    m => m.RejectLog.SupplierTypeId, 
    new SelectList(Model.SupplierTypes, "ID", "Size", 
                   Model.RejectLog.SupplierTypeId), 
    new { 
        @size = Model.SupplierTypes.Count,
        @class = "reject-select",
        @id = "Size",
        @name = "Size"
    }
)

.Distinct()可能な限りほぼすべての場所を追加しようとしました。私は途方に暮れています。

4

1 に答える 1

1

次のようにコードを編集してみてください。

new SelectList(
    Model.SupplierTypes.Select( t => new {ID = t.ID, Size = t.Size} )
                       .Distinct(), 
    "ID", "Size", Model.RejectLog.SupplierTypeId)

サイズのみを選択する (そして、関連付けられた ID ではなくサイズ値自体をサーバーに返す) 場合は、Size を Display 値および「Identity」値として使用できます。

new SelectList(
    Model.SupplierTypes.Select( t => new {Size = t.Size} )
                       .Distinct(), 
    "Size", "Size", ???)

(私は Razor に非常に慣れていないので、その 4 番目のパラメーターで何が期待されるかわかりません。ただし、ID を使用しなくなったため、再検討する必要があると思います。)

于 2012-10-23T15:16:17.003 に答える