You can do this with the help of Viewbag. Let us say you have the different titles stored in a database table called TitleTable.
Use ADO.Net to get all the titles from TitleTable and create a list of SelectListItem like:(assuming you know how to connect to DB and get data)
titleList = (from titleRow in dtTitle.AsEnumerable()
select new SelectListItem()
{
Selected = false,
Text = resRow["Title"].ToString(),
Value = resRow["Title"].ToString()
}).ToList();
Above code uses datatable, but you can use dataset or datareader.
In order to access this titleList from create view, put this into a ViewBag. This has to be done before the user is sent to the create view (before return View() statement in the Create controller action method).
ViewBag.Titles = titleList;
Now you can use this ViewBag in your view to populate the dropdown list. Before that add a new property to the model you have for Person, like:
public string PersonTitle {get; set;}
And in the view add control for Title and populate it with ViewBag. Here is the sample code:
<div class="form-group">
@Html.LabelFor(model => model.Year, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(model => model.PersonTitle, new SelectList(@ViewBag.Titles, "Value", "Text"), "--Select Title--")
@Html.ValidationMessageFor(model => model.Titles)
</div>
</div>
Hope this helps.