0

これは私のコードです:

ViewBag.idprofesor = new SelectList(db.Profesor, "IDProfesor", "nombre");

このコードは、データベース内の教師 (教授) の名前 (名前) のみを表示するドロップダウンを生成します。ドロップダウンのように、教師の名前と姓を表示します。

4

2 に答える 2

1

必要なフィールドを手動で指定する SelectListItems の ist を手動で作成する必要がある場合があります。そのようです:

List<SelectListItem> professors = new List<SelectListItem>();
foreach(var professor in db.Professors) {
    professors.Add( new SelectListItem() { Text = professor.Fn + " " +  professor.Ln, Value = professor.Id } );
}
ViewVag.Professors = professors;

次に、あなたの見解で:

Html.DropDownListFor( m => m.Professor, ViewBag.Professors );
于 2012-06-19T03:14:54.373 に答える
0

SelectListItemの IEnumerable をコンストラクターに渡すだけです。Linq を使用して教授コレクションから選択します。

@{
    var mySelectList =
        db.Professor.Select(prof => new SelectListItem(
            Text = prof.lastName + ", " + prof.nombre,
            Value = prof.IDProfessor
            )
        ).AsEnumerable();
}   

Razor を使用すると、次のようなドロップダウン リストを作成できるはずです。

@Html.DropDownList("mydropdownlist", mySelectList)

モデル内のプロパティにバインドするには、構文が少し異なります。

@Html.DropDownListFor(model => model.someproperty, mySelectList)
于 2012-06-19T03:14:00.303 に答える