データベースにテーブルがあり、名前フィールドを繰り返しなくしたいと思っています。 しかし、私はこのエラーを受け取ります:ViewBagからのデータを表示できません
'string'には 'ID'の定義が含まれていません。 私は自分のコードをデバッグするときに、foreachエラーが現れるまで、データでいっぱいの変数を見つけます。私のコントローラで
:
public ActionResult Create()
{
HREntities db = new HREntities();
var areas = db.Area.Select(area => area.Area + area.ID).Distinct().ToList();
if(areas != null)
ViewBag.areas = areas;
return View();
}
ビューのコード:
var areas = db.Area.Select(area => area.Area + area.ID).Distinct().ToList();
:コントローラでのごCreate
方法で
@foreach (var area in ViewBag.areas)
{
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-12">
<input name="group4" type="radio" id="@area.ID" class="radio-col-blue-grey" />
<label for="@area.ID">@area.Area</label>
</div>
}
サイドノート - 'ID'と' Area'プロパティを組み合わせると重複してしまうので、 '.Distinct()'は必要ないようです。そして、 'ViewBag'を使うのではなく、ビューにモデルを渡すことを強くお勧めします.Htmlを生成するために' HtmlHelper'メソッドを使うことを含め、モデルをビューに強く入力してください。 –
はい、私はあなたに同意します、私がやったこと。あなたの説明をありがとう –