"Enter"a basıp içeriğe geçin

DropdownList EditorFor ile kullanırken model binding sorunu çözümü

Basıtçe anlatırsak ben temel elementlerimin tasarımlarını tek merkenden belirlemek ve hersefer en basidi form-control css vermek istemiyorum. o yüzden EditorTemplates kullanıyorum ve nesnelerimi üretmek için aşağıdaki kodu kullanıyorum. Lakin model dolu olmasına rağmen dropdownlist yani select seçili gelmiyor. Malesef bu bir bug (mış link:)

@Html.EditorFor(model => Model.CountryId, “SelectList”, Model.CountryList)

View de Shared içerisinde EditorTemplates içerisinde selectList.cshtml dosyam

@model object

@Html.GetDisplayName(model => model)

@Html.DropDownListFor(model => model, (SelectListItem[])ViewData[“SyncRoot”], “Lütfen seçiniz”, new { @class = “form-control” })
@Html.ValidationMessageFor(model => model)

</div>

bunu düzeltmek için İtem atama işlemini değiştirmemiz gerekiyor.

@model object

@Html.GetDisplayName(model => model)
@{
var syncRoot = (SelectListItem[])ViewData[“SyncRoot”];
SelectList itemList = itemList = new SelectList(syncRoot, “Value”, “Text”, Model);
}

@Html.DropDownListFor(model => model, itemList, “Lütfen seçiniz”, new { @class = “form-control” })
@Html.LangValidationMessageFor(model => model)

</div>

Böylece sorun düzeliyor.
Kaynak: https://stackoverflow.com/questions/20390052/dropdownlistfor-inside-editorfor-not-selecting-values

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir