代码之家  ›  专栏  ›  技术社区  ›  Bilalwcheema

如何获得Html的价值。控制器中的下拉列表?

  •  1
  • Bilalwcheema  · 技术社区  · 7 年前

    public ActionResult new_vehicle()
        {
            ViewBag.customers = new SelectList(db.customers, "cust_id", "cust_name");
            return View(db.vehicles.ToList());
        }
    

    我们看到的代码是

     @Html.DropDownList("customers", "Select Customer");
    

    public ActionResult veh_AddEdit()
        {
            int id = Convert.ToInt32(Request["vehiddenID"]);
            if (id == 0)
            {
    
                vehicle veh = new vehicle();
                Session["veh_id"] = "";
    
                veh.cust_id_fk = Convert.ToInt32(Request.Form["customers"]);
                veh.veh_make = Request["vemake"];
                veh.veh_name = Request["vename"];
                veh.veh_model = Request["vemodel"];
                db.vehicles.Add(veh);
                db.SaveChanges();
                int latestEmpId = veh.veh_id;
            }
    
            return RedirectToAction("new_vehicle");
        }
    

    问题是它无法获取选定值,即控制器中的外键。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Victor Leontyev    7 年前

    IEnumerable<SelectListItem>

    public ActionResult new_vehicle()
    {
        ViewBag.customers = db.customers.Select(i=>new SelectListItem() { Text = i.cust_name, Value=i.cust_id });
        return View(db.vehicles.ToList());
    }
    

    @Html.DropDownList("customers", (IEnumerable<SelectListItem>)ViewBag.customers, "Select Customer")
    

    然后在你的方法中的控制器中 veh_AddEdit 你可以像这样访问它 Request["customers"]

        2
  •  0
  •   Karthik Elumalai    7 年前

    我希望你能从维克托的回答中得到答案,在这里我想提供更多信息,希望这将有助于更好地理解

    前任:

    public ActionResult veh_AddEdit(string customers)
        {
            int id = Convert.ToInt32(Request["vehiddenID"]);
            if (id == 0)
            {
    
                vehicle veh = new vehicle();
                Session["veh_id"] = "";
    
                veh.cust_id_fk = Convert.ToInt32(customers);
                veh.veh_make = Request["vemake"];
                veh.veh_name = Request["vename"];
                veh.veh_model = Request["vemodel"];
                db.vehicles.Add(veh);
                db.SaveChanges();
                int latestEmpId = veh.veh_id;
            }
    
            return RedirectToAction("new_vehicle");
        }