hi
i have created models CLinicTypes and ClinicDetails like this
public class ClinicTypes
{
public int ID { get; set; }
public string Title { get; set; }
public SelectList ClinicTypeList { get; set; }
}
public class ClinicDetails
{
public int ID { get; set; }
[Display(Name = "Clinic Name")]
public string ClinicName { get; set; }
[Display(Name = "Clinic Type")]
public int ClinicTypeID { get; set; }
public string CPersonName{ get; set; }
public string CPersonEmail { get; set; }
public string CPersonMobile { get; set; }
public string CPersonPhone { get; set; }
}
i created my viewmodel like this
public class ClinicDetailViewModel
{
private OMCareContext db = new OMCareContext();
public IEnumerable<SelectListItem> ClinicTypes { get; set; }
public ClinicDetails ClinicDetail { get; set; }
//constructor
public ClinicDetailViewModel(ClinicDetails detail)
{
ClinicDetail = detail;
ClinicTypes = PopulateClinicTypes();
}
//end constructor
private IEnumerable<SelectListItem> PopulateClinicTypes()
{
var cTypesQuery = db.ClinicType.OrderBy(t => t.ID);
return new SelectList(cTypesQuery, "ID", "Title");
}
i changed my controller post method
public ActionResult Create([Bind(Include = "ID,ClinicName,ClinicTypeID,CPersonName,CPersonEmail,CPersonMobile,CPersonPhone")] ClinicDetails clinicDetails)
{
if (ModelState.IsValid)
{
db.ClinicDetail.Add(clinicDetails);
db.SaveChanges();
return RedirectToAction("Index");
}
// return View(clinicDetails);commented by me and added follow line
return View( new ClinicDetailViewModel(clinicDetails));
}
and my view is
@Html.DropDownListFor(model => model.ClinicDetail.ClinicTypeID,Model.ClinicTypes, "--Select a tyre type--")
@Html.ValidationMessageFor(model => model.ClinicDetail.ClinicTypeID)
it is populating dropdown list but it is saving nullvalues for clinicdetails entities and 0 for clinictypeid.
i need help in this.
Thanks