问题很简单。我想用另一个表中的值填充DropDownList。但我不想将它们与foreigin密钥联系起来。
我的模特
public class Application1
{
public int Application1Id { get; set; }
public string ApplicationType { get; set; }
}
字段ApplicationType
应保留ApplicationType
的名称(来自其他表格)
我的控制器:
// GET:Application1 / Create
public ActionResult Create()
{
ViewBag.AppDataApplicationType = new SelectList(db.AppDataApplicationTypes, "AppDataApplicationTypeId", "Name");
return View();
}
// POST: Application1/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Application1 application1)
{
if (ModelState.IsValid)
{
db.Application1.Add(application1);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.AppDataApplicationTypeId = new SelectList(db.AppDataApplicationTypes, "AppDataApplicationTypeId", "Name");
return View();
}
我的观点:
<div class="form-group">
<div class="col-md-5">
<span class="glyphicon-asterisk" style="color:red;"></span>
@Html.LabelFor(model => model.ApplicationType , htmlAttributes: new { @class = "control-label", style="margin-bottom:10px;" })
@Html.DropDownListFor(model => model.ApplicationType, (SelectList) ViewBag.AppDataApplicationType, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.ApplicationType, "", new { @class = "text-danger" })
</div>
</div>
问题在于,当我试图保存时,一切都还可以,但它是保存id而不是值。
我会非常感谢任何帮助,花几个小时尝试解决它......
答案 0 :(得分:0)
尝试更改
ViewBag.AppDataApplicationType = new SelectList(db.AppDataApplicationTypes, "AppDataApplicationTypeId", "Name");
到
ViewBag.AppDataApplicationType = new SelectList(db.AppDataApplicationTypes, "Name", "Name");