0

C# asp.net MVC3 カミソリ エンジンにドロップダウン リストがあります。データベース内のテーブルの 1 つからそのドロップダウン リストに値をロードする必要があり、一部の値はハードコードされています。したがって、両方の種類の値を 1 つのドロップダウン リストに入れる必要があります。

私はそれらを別々に行うことができます。

これが私の見解です:

@Html.DropDownListFor(model => model.MyTransaction.Status, new MultiSelectList(ViewBag.MyStatusId, "ID", "Name"))

列挙型が作成される私のモデル:

public enum Ntypes{
  halfday
  casual
}

私のコントローラー:

ViewBag.MyTransaction = db.LeaveTypes.ToList(); //get the table values to drop down

//その後、ハードコードされた値を個別に取得することもできます........

ViewBag.MyTansaction = (from NewLeaveTypes t in Enum.GetValues(typeof(Ntypes))
                                select new { ID = t, Name = t.ToString()).ToList();

ただし、両方の値を 1 つのドロップダウンリストに入れることはできません。Plzzzzヘルプ。

ありがとう...........

4

1 に答える 1

2

2 つのリストを連結できます。

var nTypes = Enum
    .GetValues(typeof(Ntypes))
    .Select(t => new LeaveType { ID = t, Name = t.ToString())
    .ToList();
ViewBag.MyTransaction = db.LeaveTypes.ToList().Concat(nTypes);

そしてビューで:

@Html.DropDownListFor(
    model => model.MyTransaction.Status, 
    new SelectList(ViewBag.MyTransaction, "ID", "Name")
)
于 2012-05-24T06:27:08.773 に答える