私のdropDownリストはデフォルト値を望んでいません!DropDownListを設定したくない
<div class="form-group">
@Html.LabelFor(model => model.unit, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(x => x.unit.id, selectUnit)
@Html.ValidationMessageFor(model => model.unit.id, "", new { @class = "text-danger" })
</div>
</div>
私は正しいリストを表示しますが、どれも選択されていません。
私はViewBagを使用して、私のSelectListのを取得:私はCSHTMLをブレークポイントすると
@{
IEnumerable<SelectListItem> selectUnit = ViewBag.Unit;
}
、Model.unit.idは4であり、値として4で一つのアイテムを持っているselectUnit。
私は
@selectUnit.Where(x => x.Value == Model.unit.id.ToString()).First().Text
を行うと、それは右のテキスト値を選択!
ラッツは思う:これは私のユニットのモデルである:事前の人々で
public class Unit
{
public int id { get; set; }
public string name { get; set; }
public string description { get; set; }
public IList<Unit> children { get; set; }
}
おかげで、私はなってきてるcrasy
EDIT:
public class ModelPassedTroughTheView
{
...
public Unit unit { get; set; }
}
EDIT 2:フルコード:
Editページ: @model BE.DealerGroupSAP
@{
ViewBag.Title = Resources.Admin.DealerGroup_Edit;
IEnumerable<SelectListItem> selectUnit = ViewBag.Unit;
}
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>@ViewBag.Title</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.id)
<div class="form-group">
@Html.LabelFor(model => model.unit, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(x => x.unit.id, selectUnit)
@Html.ValidationMessageFor(model => model.unit.id, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="@Resources.Global.Save_Edits" class="btn btn-default" />
</div>
</div>
</div>
}
モデル通行人トラフビュー:
public class DealerGroupSAP
{
public int id { get; set; }
public Unit unit { get; set; }
}
単位のオブジェクト:
public class Unit
{
public int id { get; set; }
public string name { get; set; }
public string description { get; set; }
public IList<Unit> children { get; set; }
}
コントローラの内容:
ViewBag.Unit = GetUnits();
return View(BL.AnomalyBL.GetAllSAPResponsible(id));
'Unit' - ' Unit'を含むクラス( '{get; set;}'を持つプロパティではない最良の推測) –
@StephenMuecke:ありがとう!私は投稿を更新しました。渡されたモデルにはacessorsを持つ1つのUnitフィールドが含まれているので、問題は解決しませんでした。 – clement
表示されたコードは正常に動作するはずです(そして、_しかし何も選択されていません)。 –