[英]how to get drop down list selected value
我是MVC的新手。 到目前為止,我已經成功地在一個下拉列表中綁定了來自數據庫的數據。
如何獲取所選值並將其傳遞給Controller以保存在數據庫中?
到目前為止,這是我所做的:
視圖:
@Html.DropDownList("State", null, new { @class = "dropdown-toggle col-md-9 form-control" })
控制台:(這是下拉列表中數據的綁定方式)
IEnumerable<SelectListItem> states = db.RefState
.Select(s => new SelectListItem
{
Value = s.ID.ToString(),
Text = s.Name
});
ViewBag.AddressType = types;
ViewBag.State = states;
return View();
這是我將其保存在數據庫中的方式:
public ActionResult NewAddress(Address data)
{
if(ModelState.IsValid)
{
var addressData = new Address()
{
ZipCode = data.ZipCode,
StreetNo = data.StreetNo,
StreetName = data.StreetName,
Unit = data.Unit,
Additional = data.Additional,
Town = data.Town,
City = data.City,
StateID = ?,
Description = data.Description,
VendorCode = data.VendorCode
};
db.Address.Add(addressData);
db.SaveChanges();
ModelState.Clear();
data = null;
ViewBag.Message = "Address succesfully added";
return RedirectToAction("DeliveryInformation", "DeliveryDetail");
}
return View(data);
}
在您的控制器方法NewAddress中,添加另一個參數FormCollection formCollection。
現在嘗試:
StateID = formCollection["State"]
另外,將下拉列表的name屬性更改為StateID而不是state可能更干凈。
@Html.DropDownList("StateID", null, new { @class = "dropdown-toggle col-md-9 form-control" })
如果控件的name屬性具有與參數的屬性名稱完全相同的值,則MVC只會將控件的值映射到參數的屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.