2017-07-09 6 views
0

IはコントローラコントローラのHtml.DropDownListの値を取得するには?

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

で次viewbagが割り当てられており、図中の符号は

@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"); 
    } 

あります選択した値、つまりコントローラの外部キーを取得します。お使いのコントローラで

答えて

0

あなたがそれにアクセスすることができますveh_AddEdit次に、あなたのビューで、あなたの方法であなたのコントローラでその

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

のようなドロップダウンをレンダリングすることができ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()); 
} 

あなたはviewbagに渡すことができますlike Request["customers"]

+0

あなたは命の恩人だ、解決策を働きました! – Bilalwcheema

+0

それはあなたのために働いている場合、私の答えを受け入れることができます –

+0

私はここには知っていない新しいです。 – Bilalwcheema

0

私はあなたが勝者の答えからの解決を得たことを願っています、ここで私はprovしたいですそれはより良い理解に役立つことを望むことによって、ide情報追加情報は、

一般的には、キー値のペアを使用して、コントローラに値を送信します。そのため、ドロップダウンリストの名前はキーとなり、値はユーザーが選択されます。

htmlがドロップダウンリストのためにレンダリングされたことを確認するには、ブラウザのビューページソースに移動し、アクションメソッドで使用するコントロールの名前を取得するだけです。

例:

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"); 
    } 
関連する問題