これは私のコードです:
ViewBag.idprofesor = new SelectList(db.Profesor, "IDProfesor", "nombre");
このコードは、データベース内の教師 (教授) の名前 (名前) のみを表示するドロップダウンを生成します。ドロップダウンのように、教師の名前と姓を表示します。
これは私のコードです:
ViewBag.idprofesor = new SelectList(db.Profesor, "IDProfesor", "nombre");
このコードは、データベース内の教師 (教授) の名前 (名前) のみを表示するドロップダウンを生成します。ドロップダウンのように、教師の名前と姓を表示します。
必要なフィールドを手動で指定する 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 );
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)