Я должен сохранить идентификатор выбранного элемента в базе данных.но я всегда получаю нулевое значение, когда выбираю элемент из выпадающего списка.
Вот некоторый код: Контроллер:
public ActionResult Create()
{
SelectList CategoryList = new SelectList(dc.Category.ToList(), "ID", "CategoryName");
ViewData["Categories"] = CategoryList;
ViewData.Model = new AdvertModel();
return View();
}
Вид:
<%:Html.DropDownList("Categories", ViewData["Categories"] as SelectList, new { @class = "dropdown" })%>
МОДЕЛЬ: AdvertModel
public class AdvertModel
{
public Int32 ID { get; set; }
[Required(AllowEmptyStrings=false,ErrorMessage="Please enter the title of your Ad.")]
[Display(Name="Title")]
public string Title { get; set; }
[Required(AllowEmptyStrings=false,ErrorMessage="Please enter a description of your Ad.")]
[Display(Name = "Details")]
public string Details { get; set; }
[Required(AllowEmptyStrings=false,ErrorMessage="Please enter when your Ad. will be publish")]
[Display(Name = "Publish date")]
[DataType(DataType.Date)]
public DateTime PubDate { get; set; }
[Required]
public DateTime EntryDate { get; set; }
public bool AdStatus { get; set; }
[Required]
[Display(Name = "Category")]
public Category Category { get; set; }
}
И теперь я хочу получить идентификатор выбранного элемента:
public ActionResult Create(AdvertModel ad)
{
Advert nAD = new Advert();
nAD.Title = ad.Title;
nAD.Message = ad.Details;
nAD.PublishDate = ad.PubDate;
nAD.Category = ad.Category.ID;// here I always get null.
dc.Advert.AddObject(nAD);
dc.SaveChanges();
return View(ad);
}
Есть идеи, где я делаю неправильно ??