0

ビューに渡すモデルのコレクションがあり、ドロップダウン リストに各 model.property を表示したいと考えています。問題は、コードにバグがあり、2 つの重複項目が表示されることです。

@model IEnumerable<UserManager.Models.vw_UserManager_Model>

@Html.Label("BRAD Module:")&nbsp
@Html.DropDownListFor(model => model.FirstOrDefault().module_name, Model.Select(x => new SelectListItem { Text = x.module_name, Value = x.module_name }), new { id = "ddlSelectedBrad", onchange = "chkSelection()" })

現在、FirstOrDefault() を使用して、モデルのコレクション内の各モデルのモジュール名にアクセスしています。しかし、これを行うことで、値が重複しています。

以下のスクリーンショットを参照してください。

ここに画像の説明を入力

MARKET:LEISUREは2回上映中

ここに画像の説明を入力

インテリジェンスは 2 回表示されます。このドロップダウン値を変更してこの画面に戻ると、2 つの重複した値が表示されます。 概要

LINQ クエリを記述するより良い方法を知っている人はいますか?

ありがとう。

4

1 に答える 1

0

それ以外の

Model.Select(x => new SelectListItem { Text = x.module_name, Value = x.module_name })

試す

Model.GroupBy(x => x.module_name).Select(x => new SelectListItem { Text = x.First().module_name, Value = x.First().module_name })

これにより、重複レコードがフィルタリングされます。

于 2013-01-21T15:29:28.533 に答える