2017-07-07 24 views
0

私はコンボボックスを持っているので、コンボボックスで値を選択する必要があります。DropDownListForから値を取得する必要がありますmvc

コードビュー:コンボボックスに値を追加

@Html.DropDownListFor(model => model.servicesModel, (SelectList)ViewBag.serviceNames, new { @id = "listNames" }) 

コードアクションは、(表を作成したとき、私は知っている、私は、データベース内のシンボルを逃した):

var servicesDetails = dbModel.SERVICES.ToList(); 

     ViewBag.serviceNames = new SelectList(servicesDetails, "iIdSevices", "vName"); 

私はフォームを持って、押しボタンとその後、@using (Html.BeginForm("SendApplication", "Home", FormMethod.Post))のおかげで、私は自分のactionResultにデータを送ります。

私のActionResultは:

[HttpPost] 
    public ActionResult SendApplication(App_AppTemp_Serv_PersInfModel appFile, int iIdServices) 
    {   
     int iIdService = 0;    

     var serviceDetails = dbModel.SERVICES.Where(x => x.iIdSevices == iIdServices).FirstOrDefault(); 
     iIdService = serviceDetails.iIdSevices; 

     if (bFile == true) 
     { 
      appFile.appModel.vFile = "Приклепленные файлы имеются"; 
     } 
     else 
     { 
      appFile.appModel.vFile = "Приклепленных файлов нет"; 
     }    

     appFile.appModel.vDate = Convert.ToString(DateTime.Now); 

     try 
     { 
      dbModel.APPLICATIONS.Add(appFile.appModel); 
      dbModel.SaveChanges(); 
      ModelState.Clear(); 
     } 
     catch (Exception exc) 
     { 
      ViewBag.sErrorMessage = exc.Message;    
     } 

     return View("~/Views/Home/ProblemForm.cshtml", appFile); 
    } 

しかし、私はコンボボックスからデータを取得することはできませんが、私は方法がわかりません!たぶん、クラスを使用してクラスの値を取得する、誰もがこれのアイデアを持っている?

答えて

0

こんにちは、そのコントロールの名前を使用してドロップダウンリストからデータを取得できます。あなたの例では、model.servicesModelがドロップダウンリストの名前になるようです。そのため、コントローラではそのプロパティを使用してデータを取得します。 EX用

App_AppTemp_Serv_PersInfModelがモデルであると仮定すると、ノーならば、それに応じて変更

[HttpPost] 
    public ActionResult SendApplication(App_AppTemp_Serv_PersInfModel appFile, int iIdServices) 
    { 

      //dropdownlist selected value 

      string selectedvalue = appFile.servicesModel 

      //other code 
} 

はそれが

おかげ

カルティク

役立ちましたホープ
関連する問題