-1

Razor 構文で MCV アプリを開発しています。要素をドロップダウン リストに渡し、viewbag 要素からそのドロップダウンで選択した項目を表示したいと考えています。

以下のコードは、ドロップダウン コードを表示します。

コントローラーコード

      [SessionFilterAction]
            public ViewResult Details(int id)
    {

 ViewBag.HODList = new SelectList(db.Employees.Where(e => e.DesignationType == "HOD"), "Id", "FullName");
            ViewBag.ItemToBeSelectedInList = 5;
            return View(paymentadvice);
    }

コードを表示

if(ViewBag.DesignationTypeOfLoggedUser == "Staff")
{
    @Html.DropDownList("HODList", String.Empty ,new { ???? })
}

ここで、ドロップダウンの項目の 1 つを選択する viewbag 要素を使用したいと思います。これを行う方法 ?

4

1 に答える 1

1

ViewBag は、コントローラーからビューにデータを渡すように設計されており、その逆ではありません。HTTP Get メソッドを使用して、ドロップダウンを次のように設定できます

[HttpGet]
public MyAction()
{
    MyModel model = new MyModel();

// model.DropDwonValues はモデルのジェネリック リスト クラスです

    model.DropDwonValues= db.Values //replace with your db table
        .Select(v => new DropDownItem
            {
                Text = v.Name //value to go in your text field
                Value = v.Id.ToString() //value to go in your ID field
            })
        .ToList();   

    return View(model);
}

次に、ビューで次のことができます。

@using(Html.BeginForm())
{
    @Html.LabelFor(m => m.DropDownId)
    @Html.DropDownListFor(m => m.DropDownId , Model.DropDwonValues )
}
于 2013-05-28T07:16:51.560 に答える