Как составить выпадающий список?[Отредактировано - почти рабочий код]
Вид:
<div class="editor-label">
Firma
<div class="editor-field">
@Html.DropDownListFor(x => x.ID_firma, Model.firmaList)
@Html.ValidationMessageFor(model => model.nazwa)
</div>
Модель:
public class produktModel
{
[Required(ErrorMessage="Proszę podać nazwę.")]
public string nazwa { get; set; }
[Required(ErrorMessage = "Proszę podać ilść produktu.")]
public decimal ilosc { get; set; }
[Required(ErrorMessage = "Proszę podać jednostkę produktu (np. kg, l, szt.).")]
public string jednostka { get; set; }
[Required(ErrorMessage = "Proszę podać cenę produktu.")]
public decimal cena { get; set; }
public string ID_firma { get; set; }
public IEnumerable<SelectListItem> firmaList { get; set; }
}
Контроллер:
public ActionResult dodaj()
{
var firma = baza.Firmas;
var model = new produktModel
{
firmaList = firma.AsEnumerable().Select(x => new SelectListItem
{
Value = x.ID_firma.ToString(),
Text = x.nazwa
})
};
return View(model);
}
[HttpPost]
public ActionResult dodaj(produktModel model)
{
Produkt prod = new Produkt();
prod.nazwa = model.nazwa;
prod.ilosc = model.ilosc;
prod.jednostka = model.jednostka;
prod.cena = model.cena;
prod.ID_firma = model.ID_firma;
baza.Produkts.InsertOnSubmit(prod);
baza.SubmitChanges();
return RedirectToAction("zarzadzaj_produktami", "Produkt");
}
Почти работает... У меня есть только одна проблема (я надеюсь) ... Значение - это строка, и я сохраняю его значение в базе данных ... (сейчас не знаю, как это записать ...)
prod.ID_firma = model.ID_firma;
prod.ID_firma - это int.model.ID_firma - это значение, которое является строкой.Итак, у меня есть ошибка:
Ошибка 1 Не удается неявно преобразовать тип 'string' в 'int?'