2013-08-05 79 views
0

現狀在編輯,沒有顯示當前值可用項目的列表下拉列表編輯過程中

我有一個編輯表單,用戶不得擅自改變所有權(其提供給新客戶)的硬件(模塊)。 我所做的是通過一個函數收集所有可用的客戶。該列表以下拉菜單顯示,其中還包含硬件的當前所有者(客戶)。

我想達到什麼是在下拉列表,我只是想刪除當前的所有者(也是客戶之一)。

下面是代碼視圖

視圖模型

public class ChangeOwnership 
{ 
    public ChangeOwnership() 
    { 
    } 

    public Guid CurrentOwnerId { get; set; } 

    public string CurrentOwner { get; set; } 

    public string SelectedNewOwner { get; set; } 

    public IEnumerable<SelectListItem> OwnerNames { get; set; } 
} 

在控制器Get方法

[HttpGet] 
    public ActionResult ChangeModuleOwnership(long id) 
    { 
     var owners = _ownedModuleRepository.GetAllBusinessUnits();//businessunits = customers 
     var model = new ChangeOwnership 
      { 
       CurrentOwnerId = _ownedModuleRepository.GetOwnedModuleOwnerId(id), 
       CurrentOwner = _ownedModuleRepository.GetSelectedModuleOnwerName(id), 
       OwnerNames = owners.Select(m=> new SelectListItem 
        { 
         Value = m.Id.ToString(), 
         Text = m.Name 
        }) 
      }; 

     return View(model); 
    } 

庫函數

List<BusinessUnit> IOwnedModuleRepository.GetAllBusinessUnits() 
    { 
     return _dbSis.BusinessUnits.ToList(); 
    } 

我需要做什麼才能從下拉列表中篩選出當前所有者,以便我只能顯示潛在的新所有者(客戶)?

回答

1

你爲什麼不去做這樣的事情在你的控制器:

OwnerNames = owners 
    .Where(o => o.OwnerID != id) //Filter out the current owner here 
    .Select(m=> new SelectListItem 
        { 
         Value = m.Id.ToString(), 
         Text = m.Name 
        }) 
+0

工作,我在想刪除的項目,然後進行選擇,但是這看起來更整潔 – Cybercop

+0

@ Biplov13很高興它的工作。隨意分享一些+1 :) – PostureOfLearning

+0

它可以兩種方式 – Cybercop

相關問題