2017-07-07 118 views
0

我有combobox在視圖中,我需要在組合框中獲取選擇值。需要從DropDownListFor獲得價值asp.net 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

嗨,你可以使用該控件的名稱從dropdownlist中獲取數據。看起來你的例子中model.servicesModel將是dropdownlist的名字。所以在你的控制器中使用該屬性獲取數據。

爲前:假設App_AppTemp_Serv_PersInfModel是你的模型,如果沒有,則相應更改它

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

      //dropdownlist selected value 

      string selectedvalue = appFile.servicesModel 

      //other code 
} 

希望它是有益的

感謝

KARTHIK