我试图在 Create.chtml 上有一个下拉列表,用户可以从下拉列表中选择一个“NAME”,并且应该将相应的值(ID)发送回控制器以将其添加到数据库表中。
什么是工作:我可以在 Create.chtml 视图页面上看到带有名称的下拉列表
什么不工作:当从视图的下拉列表中选择一个名称时,它的值 (ID) 不会传递给控制器
请查看下面的代码以确定我可能做错的地方。
Controller:
//
// GET: /OrganizationCodes/Create
public ActionResult Create()
{
var orgzList = (from x in db.TABLE_ORGANIZATIONS
select new TABLE_ORGANIZATIONSDTO
{
ID = x.ID,
NAME = x.NAME
}).OrderBy(w => w.NAME).ToList();
ViewBag.orgz = new SelectList(orgzList, "ID", "NAME");
return View();
}
public class TABLE_ORGANIZATIONSDTO
{
public string NAME { get; set; }
public int ID { get; set; }
}
//
// POST: /OrganizationCodes/Create
[HttpPost]
public ActionResult Create(TABLE_CODES dp)
{
try
{
using (var db = new IngestEntities())
{
TABLE_CODES codes_temp = new TABLE_CODES();
ViewBag.orgz = codes_temp;
db.AddToTABLE_CODES(dp);
db.SaveChanges();
}
return RedirectToAction("Index");
}
catch
{
return View();
}
}
===================================================================================
View: 'Create.chtml'
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<div class="editor-field">
@Html.DropDownList("orgz", (SelectList)ViewBag.orgz)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
编辑1:
编辑2:
我正在尝试使用 NAMES 下拉列表的视图,其值为来自表 'TABLE_ORGANIZATIONS' 的 ID,它应该作为数字添加到表 'TABLE_CODES' -> 'MANAGER' 列中