我的观点包含下拉列表。填充下拉列表代码:
public ActionResult Create()
{
var architects = (from ar in db.ArchitectMasters where ar.IsActive == 1 select ar).ToList();
ProjectMaster ps = new ProjectMaster();
ViewBag.ArchitectID = new SelectList(architects, "ArchitectID", "ArchitectName",ps.ArchitectID);
return View();
}
查看代码:
<div class="editor-label">
@Html.Label("Architect")
</div>
<div class="editor-field">
@Html.Hidden("ArchitectID")
@Html.DropDownList("ArchitectID ", (IEnumerable<SelectListItem>)ViewBag.ArchitectID)
</div>
发布创建方法:
public ActionResult Create(ProjectMaster projectmaster, long ArchitectID, FormCollection data)
{
if (ModelState.IsValid)
{
//string dropDownSelectedValue = data.Get("ArchitectName");
//ViewBag.ArchitectID = data["ArchitectName"];
long architectname = long.Parse(ArchitectID.ToString());
db.ProjectMasters.Add(projectmaster);
db.SaveChanges();
return RedirectToAction("Index");
}
}
如何在控制器中获取下拉列表的选定值?请帮忙。
答案 0 :(得分:0)
我猜你可以从Model / FormCollection中检索ActionResult中的选定值。通常遵循以下方式获取控制器中下拉列表的选定值。
public ActionResult Create(ProjectMaster projectmaster, long ArchitectID, FormCollection data)
{
if (ModelState.IsValid)
{
int id=projectmaster.ArchitectID;
//another way int id=data["ArchitectID"];
return RedirectToAction("Index");
}
}