我建立与实体框架数据库首先一个简单的ASP.NET MVC应用程序,允许用户在一个数据库编辑表。 一个表有一个外键到另一个表。 我希望用户能够改变外键值。
我的问题:如何选择哪一列从“洋”表将显示在视图中的用户? 我搭建的观点,但是它显示错误的列。
外键是在DealerAuto表,该表中的列:DealerAutoID,DealerID,DealerMakeName,DealerModelName。 出于某种原因,在DealerAutoID视图中的下拉列表中拉动DealerMakeName。 我希望它在DealerModelName拉。
View.cshtml:
@model ModelYearChange.Models.DealerAutoTrim
[...]
<div class="form-group">
@Html.LabelFor(model => model.DealerAutoID, "DealerAutoID", new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("DealerAutoID", String.Empty)
@Html.ValidationMessageFor(model => model.DealerAutoID)
</div>
</div>
DealerAutoTrimController.cs:
public ActionResult Create()
{
ViewBag.DealerAutoID = new SelectList(db.DealerAutoes, "DealerAutoID", "DealerMakeName");
ViewBag.DealerModelName = new SelectList(db.DealerAutoes, "DealerModelName", "DealerModelName");
return View();
}
// POST: /DealerAutoTrim/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "DealerAutoTrimID,DealerAutoID,DealerTrimName,DealerTrimMSRP,DealerTrimMPG_City,DealerTrimMPG_Highway,DealerTrimBulletPoints,Year")] DealerAutoTrim dealerautotrim)
{
if (ModelState.IsValid)
{
db.DealerAutoTrims.Add(dealerautotrim);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.DealerAutoID = new SelectList(db.DealerAutoes, "DealerAutoID", "DealerMakeName", dealerautotrim.DealerAutoID);
return View(dealerautotrim);
}