2016-01-13 115 views
1

我的道歉我不會嘗試使用技術術語來解釋我的問題,我會嘗試基本英語 - 我想讓我的選擇列表出現在我看來與他目前選擇的經銷商已選擇(更多細節如下)。先謝謝你。MVC 5選擇列表項目,當前選擇顯示

我有一個產品存儲在它自己的數據表中,這是由經銷商出售的產品和我存儲銷售商的經銷商編號的產品。

我從經銷商數據表中獲得經銷商編號。

在網頁上,我創建一個下拉列表,當產品出售時,用戶選擇銷售商的銷售商名稱。我已經設法創建了顯示名稱的列表,但是當選擇將代碼存儲在代理商的產品表中時,此工作正常。

我只是在努力編輯產品時,出現選擇列表並顯示當前選定的經銷商,它總是出現在列表中的第一個經銷商。我已經搜索,但由於我從其他SO帖子獲取此代碼,我無法找到一個適合我的代碼示例的帖子。

任何反饋/幫助/建議將不勝感激。

控制器

  // Create drop down list of dealer names to allow users to select from easily identifiable list rather than find number first before coming to the page. 
     var list = db.Dealers.OrderBy(r => r.Name).ToList().Select(rr => 
     new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList(); // Require to code and set value based on current selected name. 

     ViewBag.DealerName = list; 

Razor視圖代碼:

  <div class="form-group"> 
      @Html.LabelFor(model => model.Dealer_ID, htmlAttributes: new { @class = "control-label col-md-4" }) 
      <div class="col-md-8"> 
       @* 
       @* Custom display for drop down list which shows Dealer Name instead of numeric ID Value *@ 
       @Html.DropDownListFor(m => m.Dealer_ID, (IEnumerable<SelectListItem>)ViewBag.DealerName, new { htmlAttributes = new { @class = "form-control" } }) 
      </div> 
     </div> 

回答

3

您存儲model.NameSelectListItemValue,但它應該是對應的model.Dealer_ID

rr.ID或值屬性rr.Dealer_ID

var list = db.Dealers.OrderBy(r => r.Name).ToList().Select(rr => 
     new SelectListItem { Value = rr.Dealer_ID.ToString(), Text = rr.Name }).ToList(); 
+0

嗨@Gene R謝謝您的及時回覆,不幸的是,除非我不正確地理解您的答案,否則您可能會誤解我的措辭不佳的問題。我的列表工作得很好,但是當我進入頁面時,選擇列表總是選擇列表中的第一個經銷商。我希望它能向當前選擇的商隊出售大篷車。 –

+0

@AndyDonegan您的列表中不包含您在下拉列表中綁定的「Dealer_ID」的值 'Html.DropDownListFor(m => m.Dealer_ID ...' –

+0

非常感謝您,我已經嘗試過並現在進行了測試,是的,你是絕對正確的,現在顯示當前選擇的經銷商名稱。再次感謝你的耐心,第二次讓我正確! –

相關問題