ユーザーがドロップダウンリストから「名前」を選択できる Create.chtml にドロップダウンリストを作成しようとしています。対応する値 (ID) をコントローラーに送り返してデータベーステーブルに追加する必要があります。
何が機能しているか: Create.chtml ビュー ページに NAMES を含むドロップダウン リストが表示されます。
何が機能していないか:ビューのドロップダウンリストから NAME を選択すると、その値 (ID) が Controller に渡されない
以下のコードを参照して、どこが間違っているのかを特定してください。
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:
テーブル「TABLE_CODES」に追加する必要があるテーブル「TABLE_ORGANIZATIONS」からIDとして値を持つNAMESのドロップダウンリストを持つビューを作成しようとしています->「MANAGER」列を数値として