Я новичок в первичных миграциях кода EntityFramework и изо всех сил стараюсь увидеть, как лучше всего получать раскрывающиеся списки, работающие в моем приложении. Сначала я использую рабочую БД, и я бы поставил TitleId в моей модели просмотра вместе со списком и связал выпадающее меню таким образом.как лучше всего получить выпадающие списки, работающие в моем приложении
Я пытался следовать предложенному ответу в следующем проблем качества
Best Practices for Lookup Tables in EF Code-First
Проблемы я получаю то, что название на модели представления всегда возвращается представить модель как нуль.
Может кто-нибудь дать немного руководства, пожалуйста?
Модель
public class CandidateProfile
{
public ApplicationUser User { get; set; }
public Title Title { get; set; }
public string FirstName {get;set;}
}
ViewModel
public class PersonalInformationViewModel
{
[Required]
[UIHint("TitlePicker")]
public Title Title {get;set;}
public string FirstName {get;set;}
}
Контроллер
public ActionResult RenderHomepage()
{
var viewModel = new PersonalInformationViewModel();
ApplicationDbContext context = new ApplicationDbContext();
ViewBag.Titles = context.Titles.ToList();
return PartialView("~/Views/Profile/_PersonalInformation.cshtml", viewModel);
}
public ActionResult SubmitPersonalDetails(PersonalInformationViewModel viewModel)
{
//...
}
Посмотреть
@Html.EditorFor(m => m.Title)
Просмотров/Shared/EditorTemplates
@using Temps.Models
@inherits System.Web.Mvc.WebViewPage<Title>
@Html.DropDownListFor(m => m, new SelectList((IEnumerable<Title>)ViewBag.Titles,
"Id",
"Text",
Model == null ? 1 : Model.Id),
"-- please select --",
new { @class = "form-control" })
Спасибо, Мэтт, это то, что я нашел, не знаю, почему эта статья лучше всего предложила ViewBag – Burt