少しバカになります。
機能的な例としてボクシングを使用して、MVC4のコツをつかもうとしています。
私はWeightCategories
データベース(Heavyweights
など)にあり、そしてBoxers
。
単純なようです。リレーションはボクサーに現在のウェイトカテゴリがありますが、編集するときに、ドロップダウンで変更できるようにしたいと思います。
コードで自分で作成したリストの場合は理解できますが、WeightCategory
テーブルからリストを「ロード」してボクサーのビュー/モデルに表示する方法を理解するのに問題があります。
WeightCategory
だから、これがアイテムの私のコードです:
[Table("WeightCategories")]
public class WeightCategory
{
[Key]
public int WeightCategoryId { get; set; }
public WEIGHT_CATEGORIES WeightCategoryType { get; set; }
[Display(Name = "Weight Category Name")]
[Required]
[MinLength(5)]
public string Name { get; set; }
[Display(Name = "Weight Limit In Pounds")]
public int? WeightLimit { get; set; }
}
ボクサーアイテムのコードは次のとおりです
[Table("Boxers")]
public class Boxer
{
[Key]
public int BoxerId { get; set; }
public WeightCategory CurrentWeightCategory { get; set; }
[Required]
public string Name { get; set; }
public int Wins { get; set; }
public int Losses { get; set; }
public int Draws { get; set; }
public int Kayos { get; set; }
}
ビューでは、それに取り組む方法が本当にわかりません。自動ではないと確信しており、おそらくコントローラーのどこかにテーブルをロードする必要があります...ベストプラクティスか何かを探しています。
最後のビューでそのようなもの:
@Html.DropDownListFor(model => model.CurrentWeightCategory.WeightCategoryId,
new SelectList(Model.WeightCategories, "WeightCategoryId", "Name",
Model.WeightCategories.First().WeightCategoryId))