如何在asp.net中的dropdownlist中获得选定的值mvc
问题描述:
我有一个下拉列表,我希望获得选定的值以在我的Create ActionResult中使用它,但问题是该值总是作为空字符串传递,不知道为什么。如何在asp.net中的dropdownlist中获得选定的值mvc
查看
<div class="form-group">
<input type="hidden" id="hidText" name="hidText" />
@Html.LabelFor(model => model.Armoire, "Armoire", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("id", ViewBag.LocalGabarit as SelectList, "Sélectionnez Armoire", htmlAttributes: new { @class = "form-control"})
@Html.ValidationMessageFor(model => model.Armoire, "", new { @class = "text-danger" })
</div>
</div>
控制器:
// GET: Produits/Create
public ActionResult Create()
{
ViewBag.idPole = new SelectList(db.Pole, "id", "designation");
var armoire = db.Local_Gabarit.Select(x => x.Armoire).Distinct();
ViewBag.LocalGabarit = new SelectList(armoire);
//ViewBag.LocalGabarit = new SelectList(db.Local_Gabarit, "id", "Armoire");
return View();
}
// POST: Produits/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(Produits produits)
{
localrepository=new LocalRepository(db);
if (ModelState.IsValid)
{
string armoir = Request.Form["hidText"].ToString();
db.Produits.Add(produits);
db.SaveChanges();
var reference = produits.Reference;
var designation = produits.DesignationProduit;
var insertproduit = localrepository.InsertLocal(armoir, reference, designation);
return RedirectToAction("Index");
}
ViewBag.idPole = new SelectList(db.Pole, "id", "designation", produits.idPole);
var armoire = db.Local_Gabarit.Select(x => x.Armoire).Distinct();
ViewBag.LocalGabarit = new SelectList(armoire);
return View(produits);
}
答
,您可以利用
DropDownListFor(model=>model.WhatEverId..)
或让你的控制器接收的FormCollection的参数和访问它您的下拉式名称
您创建了一个绑定到属性“id”的“
你将列表绑定到'id',你的Model和id属性在哪里? – Nope
可能的[** Hmtl.DropDownList仅使用ViewBag进行选择值**]的重复(http://stackoverflow.com/questions/10330059/hmtl-dropdownlist-using-only-viewbag-for-selected-value) – Nope