簡體   English   中英

如何獲得下拉列表選擇的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM