1

作成ビューに「ステータス」ドロップダウンリストがあり、データベースからデータを取得します。つまり、リストのデータはハードコーディングされておらず、動的です。現在、ステータス テーブルには 3 つのレコードがあります (ieAvailable、Unavailable、Cancelled)。Canceled レコードを除外して、ドロップダウン リストに [Available] と [Unavailable] のみが表示されるようにします。キャンセルされたステータスは引き続き必要ですが、別の方法で使用されます。ここにコードがあります

コントローラ:

public ActionResult Create(int roomId)
        {
            var room = _db.Rooms.Single(r => r.Id == roomId);
            ViewBag.roomCode = room.RoomCode;
            var statList = _db.ReservationsStatus.ToList();
            var selectList = new SelectList((from s in statList.ToList()
                                             select new { statusId = s.Id, statusName = s.Name }), "statusId", "statusName");

            ViewData["sList"] = selectList;

            return View();
        }

意見:

<div class="editor-field">

            @Html.DropDownList("ddStatus", (SelectList)ViewData["sList"])

        </div>        

どんな解決策でも感謝します、ありがとう。

4

4 に答える 4

1
 var selectList = new SelectList((from s in statList.ToList() where s.Name != "Cancelled" select new { statusId = s.Id, statusName = s.Name }), "statusId", "statusName")

... Name プロパティが文字列で、その値が Cancelled であると仮定します...

于 2013-05-15T03:27:42.440 に答える
1

var selectList = new SelectList((from s in statList.Where(x=>x.Name =="Available"||x.Name =="Unavailable") select new { statusId = s.Id, statusName =s.Name })、"statusId"、"statusName");

また、 Except()メソッドも見ることができます

于 2013-05-15T03:22:09.200 に答える
0

where 句を使用して、Linq ステートメントで必要なステータスを除外します。

于 2013-05-15T03:22:12.623 に答える