В приведенном ниже примере я пытаюсь сохранить идентификатор из таблицы Asp.Net Identity, таблицы aspnetusers «Id» в таблицу «Приложение». Выпадающий список «fullname» заполняется, но не сохраняется в моей таблице «приложение» при отправке приложения. Мне нужно «Id» из таблицы aspnetusers, которая будет сохранена в моей таблице «приложение» после отправки приложения. Помощь будет принята с благодарностью!@ Html.Dropdownlist список не сохраняется в базе данных
Контроллер:
private ApplicationDbContext db = new ApplicationDbContext();
public ActionResult Index()
{
ViewBag.FullNameList = new SelectList(db.Users,"Id","FullName");
return View();
}
// POST: Applications/Create
[ValidateAntiForgeryToken]
public ActionResult Index([Bind(Include = "Id,FullName, FirstName,MiddleInitial,LastName,")] Application application)
{
if (ModelState.IsValid)
{
ViewBag.FullNameList = new SelectList(db.Users, "Id", "FullName", application.ApplicationUser);
db.Applications.Add(application);
db.SaveChanges();
return RedirectToAction("Thanks");
}
}
Вид:
<p>
@Html.DropDownListFor(m => m.FullName, (SelectList)ViewBag.FullNameList, "Select Loan Officer")
</p>
Модель:
public class Application
{
public int ApplicationId { get; set; }
[Required]
[DisplayName("First Name")]
public string FirstName { get; set; }
[DisplayName("Middle Initial")]
public string MiddleInitial { get; set; }
[Required]
[DisplayName("Last Name")]
public string LastName { get; set; }
public virtual string FullName {get; set; }
public virtual ApplicationUser ApplicationUser { get; set; }
}
Привет, Крис, спасибо за отзыв. Я обновил свой код, чтобы отразить изменения, предложенные в шагах 1-3. В моем случае для шагов 4 и 5 я использую таблицу ASP.NET Identity «aspnetusers» для полного имени и идентификатора кредитного сотрудника. Моя цель состоит в том, что когда пользователь регистрируется, его/ее полное имя заполняется в раскрывающемся списке на домашней странице приложения. Эта часть работает, но свойства Id и FullName по-прежнему не сохраняются в приложении. Надеюсь, это имеет смысл. – dc922
Вы добавили свойство «FullName» и включили его в связывание, но затем вы отправили и изменили имя своего поля на «FullNameList», так что вы по-прежнему нарушаете точку 3, и теперь ваша публикация «FullNameList», которая не является собственностью на «Приложение» или включено в связывание (точки 1 и 2). Используйте 'Html.DropDownListFor (m => m.FullName, (SelectList) ViewBag.FullNameList, «Select Loan Officer») ' –
Интересно, что теперь« FullName »в моей таблице приложений заполняется хэшированным значением, а ApplicationUser_Id, который был заполнен как мой внешний ключ по-прежнему пуст. – dc922