2015-03-13 53 views
0

從視圖中選擇並執行回發之後,我無法獲取所選下拉框中的值。我的代碼模型如下模型中的值在回發後丟失在控制器中

代碼控制器

public ActionResult Index() 
     { 
      SeleniumModel model = new SeleniumModel(); 
      model.BrowserList.Add(new SelectListItem { Text = "Internet Explorer", Value = "ie" }); 
      model.BrowserList.Add(new SelectListItem { Text = "FireFox", Value = "firefox" }); 
      model.BrowserList.Add(new SelectListItem { Text = "Chrome", Value = "chrome" }); 

      model.EnviormentList.Add(new SelectListItem { Text = "Local", Value = "ie" }); 
      model.EnviormentList.Add(new SelectListItem { Text = "Dev", Value = "dev" }); 
      model.EnviormentList.Add(new SelectListItem { Text = "Uat", Value = "uat" }); 


      return View("Index", model); 
     } 

代碼視圖

public class SeleniumModel 
    { 
     public SeleniumModel() 
     { 
      BrowserList = new List<SelectListItem>(); 
      EnviormentList = new List<SelectListItem>(); 
     } 


     public List<SelectListItem> BrowserList 
     { 
      get; 
      set; 
     } 

     public List<SelectListItem> EnviormentList 
     { 
      get; 
      set; 
     } 
    } 

代碼

<div class="fields"> 
       <div> 
        @Html.LabelFor(model => model.Browser) 
        @Html.DropDownListFor(model => model.BrowserList,Model.BrowserList) 
       </div> 
      </div> 

       <div class="fields"> 
       <div> 
        @Html.LabelFor(model => model.Enviornment) 
        @Html.DropDownListFor(model => model.EnviormentList,Model.EnviormentList) 
       </div> 
+1

你需要在模型中綁定到單獨的屬性 - public string SelectedBrowser {get;組; }'和'@ Html.DropDownListFor(m => m.SelectedBrowser,Model.BrowserList)' – 2015-03-13 06:18:18

+0

從你的觀點看來,你已經擁有一個名爲'Browser'的屬性(在標籤中使用),所以你可能想要綁定到 – 2015-03-13 06:23:56

+0

由於@Stephen Muecke評論說,綁定您的'瀏覽器'屬性到選定的項目:'@ Html.DropDownListFor(m => m.Browser,Model.BrowserList)''。對'環境'做同樣的事情。 – vortex 2015-03-13 07:16:02

回答

0

您可能需要您的SeleniumModel修改,以容納您所需的選定瀏覽器

 public SeleniumModel() 
     { 
      SelectedBrowser = ""; 
      BrowserList = new List<SelectListItem>(); 
      EnviormentList = new List<SelectListItem>(); 
     } 

     public String SelectedBrowser 
     { 
      get; 
      set; 
     } 

     public List<SelectListItem> BrowserList 
     { 
      get; 
      set; 
     } 

     public List<SelectListItem> EnviormentList 
     { 
      get; 
      set; 
     } 

在你看來,嘗試這樣

@Html.DropDownListFor(model => model.SelectedBrowser, Model.BrowserList) 

東西當你的控制器接受從視圖模型,你就能夠得到使用模型的SelectedBrowser財產所選擇的瀏覽器。